从键盘输入5名学生的3门成绩,编程统计每个学生的平均成绩 ,用C语言
时间: 2024-10-25 17:17:47 浏览: 17
c代码-编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩。
5星 · 资源好评率100%
在C语言中,我们可以使用结构体来存储学生的信息,包括姓名和成绩。然后通过循环遍历输入的数据,计算每个学生的平均成绩。以下是一个简单的示例:
```c
#include <stdio.h>
// 定义学生结构体
typedef struct {
char name[20];
float score[3]; // 学生的三门成绩
} Student;
void input_scores(Student* students, int num_students) {
for (int i = 0; i < num_students; i++) {
printf("请输入学生%u的成绩(三门课逗号分隔):", i + 1);
scanf("%s", students[i].name); // 输入名字
for (int j = 0; j < 3; j++) {
scanf("%f", &students[i].score[j]); // 输入每门课程分数
}
}
}
float calculate_average(const Student* student) {
float sum = 0;
for (int i = 0; i < 3; i++) {
sum += student->score[i];
}
return sum / 3;
}
int main() {
int num_students;
printf("请输入学生人数:");
scanf("%d", &num_students);
Student students[num_students]; // 初始化数组
input_scores(students, num_students);
for (int i = 0; i < num_students; i++) {
float average = calculate_average(&students[i]);
printf("学生 '%s' 的平均成绩是 %.2f\n", students[i].name, average);
}
return 0;
}
```
在这个程序里,我们首先定义了`Student`结构体,然后有一个函数`input_scores`用于接收用户输入并填充结构体。`calculate_average`函数负责计算单个学生的平均成绩。在主函数`main`中,我们读取学生数,创建学生数组,输入数据,最后计算并打印出每位学生的平均成绩。
阅读全文