从键盘输入n(n<10)个学生的学号(学号为4位的整数,从1000开始) 、4门课(数学、语文、英语、物理) 的成绩并存入结构体数组中。
时间: 2023-12-05 12:54:35 浏览: 65
好的,以下是一个示例程序,可以实现你的需求:
```c
#include <stdio.h>
// 定义学生结构体
struct Student {
int id; // 学号
int math; // 数学成绩
int chinese; // 语文成绩
int english; // 英语成绩
int physics; // 物理成绩
};
int main() {
int n;
printf("请输入学生个数:");
scanf("%d", &n);
// 定义结构体数组并初始化
struct Student students[n];
for (int i = 0; i < n; i++) {
students[i].id = 1000 + i; // 学号从1000开始,依次递增
printf("请输入学生%d的成绩:\n", i+1);
printf("数学:");
scanf("%d", &students[i].math);
printf("语文:");
scanf("%d", &students[i].chinese);
printf("英语:");
scanf("%d", &students[i].english);
printf("物理:");
scanf("%d", &students[i].physics);
}
// 输出学生信息
printf("\n学生信息如下:\n");
for (int i = 0; i < n; i++) {
printf("学号:%d,数学:%d,语文:%d,英语:%d,物理:%d\n", students[i].id, students[i].math, students[i].chinese, students[i].english, students[i].physics);
}
return 0;
}
```
程序运行时,先输入学生个数n,然后依次输入每个学生的成绩,最后输出所有学生的信息。注意,输入的学号并没有实际用途,只是为了演示结构体数组的使用,因此可以按照规定从1000开始,依次递增。
阅读全文