实验3-7 统计学生成绩 (15 分)
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
- 大于等于90分为A;
- 小于90且大于等于80为B;
- 小于80且大于等于70为C;
- 小于70且大于等于60为D;
- 小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
输入样例:
7
77 54 92 73 60 65 69
输出样例:
1 0 2 3 1
参考答案:
一些超出官网判断程序的内容:之所以选用了float类型没有使用int,因为float不仅可以接收整数也可以接收小数,可以避免输入非整数成绩带来的问题,同时也能接收更多的分数的个数,float的取值范围远大于int
#include<stdio.h>
int main ()
{
float n,i,num,a=0,b=0,c=0,d=0,e=0;
scanf("%f",&n);
for(i=0;i<n;i++)
{
scanf("%f",&num);
if(60>num) e+=1;
else if(70>num&&60<=num) d+=1;
else if(80>num&&70<=num) c+=1;
else if(90>num&&80<=num) b+=1;
else if(100>=num&&90<=num) a+=1;
}
printf("%.0f %.0f %.0f %.0f %.0f",a,b,c,d,e);
}