C语言:1) 输入学生信息:首先输入学生人数,然后根据学生人数将相应信息输入数组; 2) 学生信息包括学号、姓名、性别、三门课程成绩和总分;三门课程的学号、姓名、性别和成绩需要通过键盘输入,总分由程序计算,而不是由用户自己计算。 3) 展示结果(学生信息)以列表形式展示,注重美观; 4) 应采取必要的容错措施。例如,每个科目的分数应在0-100之间。如果输入错误,应提示用户重新输入。
时间: 2024-03-26 15:35:00 浏览: 45
C语言-《学生成绩管理系统》学生信息包括学号、姓名、成绩、电话、籍贯、住址
好的,下面是C语言程序代码:
```c
#include <stdio.h>
struct student {
int id;
char name[20];
char gender;
float score[3];
float total;
};
int main() {
int n, i, j;
printf("请输入学生人数:");
scanf("%d", &n);
struct student stu[n];
for (i = 0; i < n; i++) {
printf("请输入第%d个学生信息:\n", i+1);
printf("学号:");
scanf("%d", &stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
printf("性别:");
scanf(" %c", &stu[i].gender);
for (j = 0; j < 3; j++) {
do {
printf("科目%d成绩:", j+1);
scanf("%f", &stu[i].score[j]);
if (stu[i].score[j] < 0 || stu[i].score[j] > 100) {
printf("分数必须在0-100之间,请重新输入。\n");
}
} while (stu[i].score[j] < 0 || stu[i].score[j] > 100);
stu[i].total += stu[i].score[j];
}
printf("\n");
}
printf("学生信息如下:\n");
printf("+------+----------+--------+------+------+------+-------+\n");
printf("| 学号 | 姓名 | 性别 | 科目一 | 科目二 | 科目三 | 总分 |\n");
printf("+------+----------+--------+------+------+------+-------+\n");
for (i = 0; i < n; i++) {
printf("| %4d | %-8s | %c | %4.1f | %4.1f | %4.1f | %5.1f |\n",
stu[i].id, stu[i].name, stu[i].gender, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].total);
printf("+------+----------+--------+------+------+------+-------+\n");
}
return 0;
}
```
首先输入学生人数,然后定义一个结构体数组来存储学生信息。然后通过循环输入每个学生的信息,包括学号、姓名、性别和三门课程的成绩,并计算总分。在输入成绩时,需要进行容错处理,如果输入的分数不在0-100之间,则提示用户重新输入。最后以列表形式输出所有学生的信息,包括学号、姓名、性别、三门课程成绩和总分。注意,这里用到了结构体、循环和容错处理,需要先定义结构体类型`struct student`,然后通过循环来输入每个学生的信息,并在输入成绩时进行容错处理。为了美观,输出时使用了表格形式,需要注意格式的调整。
阅读全文