【问题描述】
按等级统计学生成绩: 输入 10 个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。每个学生的记录包括学号、姓名、成绩和等级,根据学生成绩设置其等级,并统计不及格人数,等级设置: 85~100 为 A, 70~84 为 B, 60~69为 C, 0~59 为 D。试编写相应程序。
【输入形式】
第一行输入为正整数n,表示输入学生的人数,
然后接着输入n行分别表示
学号 姓名 成绩
【输出形式】
第一行输出考试不及格的人数,然后是每位同学的等级形式,具体见样例输出
【样例输入】
10
31001 annie 85
31002 bonny 75
31003 carol 70
31004 dan 84
31005 susan 90
31006 paul 69
31007 pam 60
31008 apple 50
31009 nancy 100
31010 bob 78
【样例输出】
The count for failed (<60): 1
The grades:
31001 annie A
31002 bonny B
31003 carol B
31004 dan B
31005 susan A
31006 paul C
31007 pam C
31008 apple D
31009 nancy A
31010 bob B
#include<stdio.h>
struct student{
int num;
char name[10];
int score;
char rank;
};
int main()
{
int i,n,count=0;
double ;
struct student students[10];
scanf("%d",&n);
//判断n是否为正整数,不是则退出
if(n<=0){
return 0;
}
for(i=0;i<n;i++){
scanf("%d %s %d",&students[i].num,&students[i].name,&students[i].score);
if(students[i].score>=85&&students[i].score<=100){
students[i].rank='A';
}else if(students[i].score>=70&&students[i].score<=84){
students[i].rank='B';
}else if(students[i].score>=60&&students[i].score<=69){
students[i].rank='C';
}else{
students[i].rank='D';
count++;
}
}
//输出
printf("The count for failed (<60): %d\n",count);
printf("The grades:\n");
for(i=0;i<n;i++){
printf("%05d %s %c\n",students[i].num,students[i].name,students[i].rank);
}
return 0;
}
求个赞啦>-<