编写一个程序,从键盘输入5位学生的身高体重及姓名并存放在一个结构体数组中 从中查找出身高最高和体重最重的学生的姓名 、身高和体重
时间: 2025-01-01 08:39:15 AIGC 浏览: 86
在编写这个程序之前,我们首先需要定义一个结构体来存储学生的信息,包括姓名、身高和体重。然后创建结构体数组来存放数据,并通过遍历数组找出最高身高和最重体重的学生信息。
下面是一个简单的示例,使用C语言编写:
```c
#include <stdio.h>
#include <string.h>
// 定义结构体,包含姓名、身高和体重
typedef struct {
char name[20];
float height;
float weight;
} Student;
int main() {
const int num_students = 5; // 输入的学生数量
Student students[num_students]; // 学生信息数组
// 从键盘输入学生信息
for (int i = 0; i < num_students; i++) {
printf("请输入第%d位学生的信息 (名字: , 身高: , 体重:): ", i + 1);
fgets(students[i].name, sizeof(students[i].name), stdin); // 注意去掉换行符
scanf("%f %f", &students[i].height, &students[i].weight);
}
// 初始化最高身高和最重体重
float max_height = students[0].height;
float max_weight = students[0].weight;
char max_name[20] = students[0].name;
// 遍历数组,更新最高身高和最重体重的学生信息
for (int i = 1; i < num_students; i++) {
if (students[i].height > max_height) {
max_height = students[i].height;
strcpy(max_name, students[i].name); // 使用strcpy避免内存覆盖风险
}
if (students[i].weight > max_weight) {
max_weight = students[i].weight;
}
}
printf("\n最高身高: %.2f cm, 姓名: %s\n", max_height, max_name);
printf("最重体重: %.2f kg\n", max_weight);
return 0;
}
阅读全文
相关推荐

















