用c语言 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),其中学号和姓名都是以字符串方式存储,计算出每名学生的平均成绩
时间: 2023-05-11 20:04:39 浏览: 327
有5个学生,么个学生有三门课成绩,从键盘键入以上数据,存放在文件中
5星 · 资源好评率100%
好的,这是一个计算每名学生平均成绩的问题,我可以回答。以下是一个用 C 语言编写的程序,可以实现这个功能:
```c
#include <stdio.h>
#include <string.h>
#define NUM_STUDENTS 5
#define NUM_GRADES 3
struct student {
char id[20];
char name[20];
float grades[NUM_GRADES];
};
int main() {
struct student students[NUM_STUDENTS];
int i, j;
// 从键盘输入学生信息和成绩
for (i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d个学生的学号、姓名和三门课成绩:\n", i + 1);
scanf("%s %s", students[i].id, students[i].name);
for (j = 0; j < NUM_GRADES; j++) {
scanf("%f", &students[i].grades[j]);
}
}
// 计算每名学生的平均成绩并输出
for (i = 0; i < NUM_STUDENTS; i++) {
float sum = 0;
for (j = 0; j < NUM_GRADES; j++) {
sum += students[i].grades[j];
}
float avg = sum / NUM_GRADES;
printf("%s的平均成绩为%.2f\n", students[i].name, avg);
}
return 0;
}
```
这个程序定义了一个 `student` 结构体,包含学生的学号、姓名和三门课成绩。程序首先从键盘输入每名学生的信息和成绩,然后计算每名学生的平均成绩并输出。注意,这里使用了一个常量 `NUM_STUDENTS` 表示学生的数量,以及一个常量 `NUM_GRADES` 表示每名学生的成绩数量,这样可以方便地修改程序以适应不同的情况。
阅读全文