如何用C语言编写一个程序,从用户键盘输入五名同学每人的三门课程成绩,然后分别计算并显示每个学生这三门课程的平均成绩?
时间: 2024-10-25 16:03:24 浏览: 9
基于c语言的一个简单的学生成绩管理系统,允许用户输入学生的成绩,然后计算和显示平均成绩
在C语言中,你可以通过结构体来存储学生的姓名和成绩,循环获取每个学生的信息,并计算平均成绩。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct Student {
char name[50];
float score[3]; // 存储三门课程的成绩
};
// 计算平均分函数
float calculate_average(float scores[]) {
float sum = 0;
for (int i = 0; i < 3; i++) {
sum += scores[i];
}
return sum / 3;
}
int main() {
struct Student students[5]; // 储存5位同学信息的数组
// 循环获取每位同学的姓名和成绩
for (int i = 0; i < 5; i++) {
printf("请输入第%d位同学的姓名: ", i + 1);
fgets(students[i].name, sizeof(students[i].name), stdin); // 注意处理换行符
students[i].name[strcspn(students[i].name, "\n")] = '\0'; // 删除多余的换行符
printf("请输入他们的三门课程成绩(用空格隔开): ");
scanf("%f %f %f", &students[i].score[0], &students[i].score[1], &students[i].score[2]);
students[i].score[2] =学生们[i].score[1]; // 示例代码,实际应有检查输入是否正确的逻辑
// 计算并显示平均成绩
float avg_score = calculate_average(students[i].score);
printf("学生 '%s' 的三门课程平均成绩为: %.2f\n", students[i].name, avg_score);
}
return 0;
}
```
阅读全文