本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则: 大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。
输入格式: 输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式: 在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
#include<stdio.h>
int main()
{
int x,N,y=0;
int A=0,B=0,C=0,D=0,E=0;//定义初始值都为0
scanf("%d\n",&N);//输入N个学生
for(int i=1;i<=N;i++)//i每加一就代表每多一个学生,就多一次循环
{
scanf("%d",&x);//输入每个学生的成绩
y=x/10;//由于是百分制 eg:99/10=9
switch (y)//switch(只能是整形)
{
case 9:
A+=1;
break;
case 8:
B+=1;
break;
case 7:
C+=1;
break;
case 6:
D+=1;
break;
default: //如y=5时不匹配前面任何一个case就自动跳入后面语句
E+=1;
break;
}
}
printf("%d %d %d %d %d",A,B,C,D,E);
return 0;
}
输入样例: 7 77 54 92 73 60 65 69 输出样例: 1 0 2 3 1
该程序用于读取N个学生的百分制成绩,并根据规则将其转换为五分制,统计各等级成绩分布。输入包括学生人数N和各个成绩,输出为A、B、C、D、E的分布数量。示例输入7个成绩,输出为10 2 3 1 1。
514

被折叠的 条评论
为什么被折叠?



