c语言中一个小组有 5 名同学,要求从键盘输入,存储 5 名同学的 3 门课程的成绩,并输出。
时间: 2024-12-23 16:17:39 浏览: 14
在C语言中,你可以使用结构体(struct)来表示一名学生的信息,包括姓名和三门课程的成绩。首先,创建一个名为`Student`的结构体:
```c
typedef struct {
char name[20]; // 学生姓名,假设最大长度为19个字符加终止符'\0'
int score[3]; // 三门课程成绩数组
} Student;
```
然后,你可以定义一个数组来存储这5名同学的数据:
```c
Student students[5];
```
接着,你可以编写一个函数来获取用户输入:
```c
void input_students() {
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'; // 清除换行符
for (int j = 0; j < 3; j++) {
printf("请输入第%d位同学第%d门课程的成绩: ", i + 1, j + 1);
scanf("%d", &students[i].score[j]);
}
}
}
```
最后,编写一个函数来输出所有学生的成绩:
```c
void output_students() {
for (int i = 0; i < 5; i++) {
printf("学生 %s 的成绩:\n", students[i].name);
for (int j = 0; j < 3; j++) {
printf("第%d门课: %d\n", j + 1, students[i].score[j]);
}
printf("\n");
}
}
```
将这三个部分组合起来,就可以实现功能了。记得在程序开始时调用`input_students()`函数获取用户输入,然后调用`output_students()`函数显示结果。
阅读全文