C语言5个学生3门成绩,C语言编程题:有5个学生,每个学生有3门课成绩,从键盘上输入以上数据(包括学号、姓名、三门课成绩),...
时间: 2024-08-14 20:04:31 浏览: 54
为了实现这个C语言程序,我们可以使用结构体来存储学生的相关信息,数组来存储所有学生,然后循环读取并显示这些信息。以下是一个简单的示例代码:
```c
#include <stdio.h>
// 定义一个结构体表示学生及其成绩
typedef struct {
int id; // 学号
char name[50]; // 姓名
float score; // 三门课程的成绩
} Student;
int main() {
const int num_students = 5;
Student students[num_students];
for (int i = 0; i < num_students; i++) {
printf("请输入第%d位同学的信息(学号, 姓名, 三门课成绩): \n", i+1);
scanf("%d", &students[i].id);
fgets(students[i].name, sizeof(students[i].name), stdin); // 注意fgets用于防止换行符干扰
students[i].name[strlen(students[i].name) - 1] = '\0'; // 清理换行符
for (int j = 0; j < 3; j++) {
scanf("%f", &students[i].score[j]);
}
printf("学生 %d 的信息为:\n", students[i].id);
printf("姓名: %s\n", students[i].name);
printf("成绩: ");
for (int k = 0; k < 3; k++) {
printf("%.2f ", students[i].score[k]); // 控制浮点数的小数位数
}
printf("\n");
}
return 0;
}
```
在这个程序中,我们首先定义了一个`Student`结构体,包含学号、姓名以及三门课程的成绩。接着,在`main()`函数中创建了一个学生数组,并用for循环遍历每一位学生,依次读取他们的信息。
运行此程序时,用户将被提示逐个输入每位学生的学号、姓名及三门课程的成绩。程序会立即显示他们输入的数据。
阅读全文