题目描述 利用结构数组处理多个学生信息。给定若干个学生的信息,假设学生信息包括学号、姓名、3门课的成绩,计算每个学生的总分,并按要求进行输出。 输入要求 先输入一个整数n,表示有n个学生的信息。 接着输入每个学生的学号、姓名以及3门课程的成绩。 输出要求 输出每个学生的学号、姓名以及总分。每个学生的信息占据一行。
时间: 2024-02-15 14:03:32 浏览: 72
下面是一份 C 语言代码,可以实现这个功能:
```c
#include <stdio.h>
#include <string.h>
typedef struct student {
int id;
char name[20];
int score[3];
int total;
} STU;
int main() {
int n;
scanf("%d", &n);
STU s[n];
for (int i = 0; i < n; i++) {
scanf("%d%s%d%d%d", &s[i].id, s[i].name, &s[i].score[0], &s[i].score[1], &s[i].score[2]);
s[i].total = s[i].score[0] + s[i].score[1] + s[i].score[2];
}
for (int i = 0; i < n; i++) {
printf("%d %s %d\n", s[i].id, s[i].name, s[i].total);
}
return 0;
}
```
程序首先读取一个整数 `n`,表示学生的数量。然后定义一个结构体数组 `s`,用于存储每个学生的信息。接着使用 `for` 循环读取每个学生的学号、姓名和成绩,并计算出每个学生的总分。最后再使用 `for` 循环输出每个学生的学号、姓名和总分。注意,在读取姓名时,可以直接使用 `%s` 格式化字符串,因为姓名中不会包含空格。
阅读全文