输入5名学生的学号、姓名和3门课程(programming、database、network)的成绩,存入一个结构体数组中。编写sumScore函数,其功能是计算学生3门课的总成绩,并存入结构体数组中。在主函数中输入学生信息,调用sunScore函数,并输出学生的学号、姓名和总成绩信息。 要求: 1 定义结构体类型,包括int snum、 char namel、int scorel、float sum变量,分别表示学生的学号、姓名、成绩数组和总成绩。2 在主函数中输入学生的学号、姓名和3门课成绩。 3 调用sumScore函数,计算学生的平均成绩,存入结构体数组的sum变量中。4 在主函数中输出每个学生学号、姓名和总成绩信息。
时间: 2023-12-03 19:41:57 浏览: 90
编制一个程序,要求输入5个学生的学号、2门课的成绩,然后输出每个学生的学号、2门课成绩、平均成绩。
3星 · 编辑精心推荐
以下是代码实现:
```c
#include <stdio.h>
struct student {
int snum;
char name[20];
int score[3];
float sum;
};
void sumScore(struct student *s) {
for(int i=0; i<5; i++) {
s[i].sum = 0;
for(int j=0; j<3; j++) {
s[i].sum += s[i].score[j];
}
}
}
int main() {
struct student s[5];
// 输入学生信息
printf("请输入5名学生的学号、姓名和3门课程(programming、database、network)的成绩:\n");
for(int i=0; i<5; i++) {
printf("请输入第%d个学生的学号:", i+1);
scanf("%d", &s[i].snum);
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", s[i].name);
printf("请输入第%d个学生的programming成绩:", i+1);
scanf("%d", &s[i].score[0]);
printf("请输入第%d个学生的database成绩:", i+1);
scanf("%d", &s[i].score[1]);
printf("请输入第%d个学生的network成绩:", i+1);
scanf("%d", &s[i].score[2]);
}
// 计算总成绩
sumScore(s);
// 输出学生信息
printf("\n学号\t姓名\t总成绩\n");
for(int i=0; i<5; i++) {
printf("%d\t%s\t%.2f\n", s[i].snum, s[i].name, s[i].sum);
}
return 0;
}
```
这段代码中,我们首先定义了一个包含学号、姓名、成绩数组和总成绩的结构体类型 `struct student`。然后,在 `main` 函数中,我们定义了一个结构体数组 `s`,用于存储输入的学生信息。
接着,我们通过 `for` 循环依次输入每个学生的学号、姓名和3门课程的成绩,并且调用了 `sumScore` 函数来计算每个学生的总成绩。
最后,我们再次通过 `for` 循环输出每个学生的学号、姓名和总成绩信息。
阅读全文