用C语言设计一个程序,该程序可以由三个循环体构成,其中一个循环的功能是打印三个学生的信息,第二个循环的功能是计算并打印每个学生的平均分,第三个循环的功能是查找最高的平均分。
时间: 2024-09-06 21:06:45 浏览: 11
下面是一个使用C语言编写的程序示例,该程序包含三个循环体,分别完成打印学生信息、计算平均分以及查找最高平均分的功能:
```c
#include <stdio.h>
// 定义学生结构体
typedef struct {
char name[50];
int scores[5]; // 假设每个学生有5门课程的成绩
} Student;
int main() {
// 初始化三个学生的信息
Student students[3] = {
{"学生A", {80, 90, 70, 85, 95}},
{"学生B", {75, 88, 81, 90, 76}},
{"学生C", {85, 92, 78, 91, 88}}
};
int i, j;
float sum, avg;
float highestAvg = 0.0;
// 第一个循环:打印学生信息
printf("学生信息:\n");
for (i = 0; i < 3; i++) {
printf("%s\n", students[i].name);
}
// 第二个循环:计算并打印每个学生的平均分
printf("\n每个学生的平均分:\n");
for (i = 0; i < 3; i++) {
sum = 0;
for (j = 0; j < 5; j++) {
sum += students[i].scores[j];
}
avg = sum / 5;
printf("%s的平均分是: %.2f\n", students[i].name, avg);
if (avg > highestAvg) {
highestAvg = avg;
}
}
// 第三个循环:查找最高的平均分
printf("\n最高的平均分是: %.2f\n", highestAvg);
return 0;
}
```
在这个程序中,我们首先定义了一个学生结构体`Student`,它包含学生的姓名和一个包含5个整数的数组来存储每个学生的5门课程成绩。然后我们初始化了一个包含三个学生信息的数组`students`。
第一个循环简单地遍历并打印了每个学生的名字。
第二个循环使用两层嵌套的for循环,内部循环用来计算每个学生的成绩总和,外部循环用来遍历学生数组并打印每个学生的平均分。同时,在计算平均分的过程中,我们记录了迄今为止遇到的最高平均分`highestAvg`。
第三个循环打印出了最高平均分。