求各位大佬编写一下这个程序,感谢!
定义一个结构体数组用以保存五个学生的以下信息:学号,姓名,性别,家庭住址,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编辑过]
