求各位大佬编写一下这个程序,感谢!
定义一个结构体数组用以保存五个学生的以下信息:学号,姓名,性别,家庭住址,3门课程成绩。要求:
1.从键盘输入5个学生的数据。
2. 显示5个学生中有一门不及格和所有课程均不及格的人数。
3. 检索学号为NUM的学生的3门课程成绩,NUM由键盘输入。
#include <stdio.h> typedef struct student{ int num; char name[20]; char sex[3]; char addr[200]; int score[3]; }stu; /** * 1.从键盘输入5个学生的数据。 * 2. 显示5个学生中有一门不及格和所有课程均不及格的人数。 * 3. 检索学号为NUM的学生的3门课程成绩,NUM由键盘输入。 */ int main() { printf("请输入5名同学信息(学号,姓名,性别,家庭住址,3门课程成绩)"); stu stus[5]; int oneLow = 0; int allLow = 0; for(int i = 0; i < 5; i++) { scanf("%d %s %s %s %d %d %d", &stus[i].num, stus[i].name, stus[i].sex, stus[i].addr, &stus[i].score[0], &stus[i].score[1], &stus[i].score[2]); printf("%d %s %s %s %d %d %d\n", stus[i].num, stus[i].name, stus[i].sex, stus[i].addr, stus[i].score[0], stus[i].score[1], stus[i].score[2]); int count = 0; for(int j = 0; j < 3; j++) { if(stus[i].score[j] < 60) { count++; } } allLow += count == 3 ? 1 : 0; oneLow += count > 0 ? 1 : 0; } printf("\n有一门成绩不及格人数:%d,所有成绩不及格的人数:%d", oneLow, allLow); int num; printf("\n请输入要检索学生的学号:"); scanf("%d",&num); for(int i = 0; i < 5; i++) { if(stus[i].num == num) { printf("\n学生(%s)的三门成绩为:%d %d %d", stus[i].name, stus[i].score[0], stus[i].score[1], stus[i].score[2]); break; } } return 0; }
[此贴子已经被作者于2020-3-15 14:02编辑过]