c语言01之输入10个人的成绩并统计

题目:
输入10个学生的成绩,统计并输出其中不合格、合格、良好、优秀的人数,分数段划分如下:
85-100分为优秀,75-84分为良好,60-74分为合格,59分以下为不合格。 实验步骤及提示:(1)、定义一个实型一维数组,及用于统计各个级别人数的相关变量; (2)、使用for语句实现10个分数的输入,并存放到这个数组中; (3)、从数组的第一个元素开始判断,并统计到相对应的级别人数中; (4)、完成所有判断; (5)、输出结果。

#include<stdio.h>
int main()
{
/*
1、输入10个学生的成绩,统计并输出其中不合格、合格、良好、优秀的人数,分数段划分如下:
85-100分为优秀,75-84分为良好,60-74分为合格,59分以下为不合格。
实验步骤及提示:
(1)、定义一个实型一维数组,及用于统计各个级别人数的相关变量;
(2)、使用for语句实现10个分数的输入,并存放到这个数组中;
(3)、从数组的第一个元素开始判断,并统计到相对应的级别人数中;
(4)、完成所有判断;
(5)、输出结果。
*/
int a[10];
int b,count=0;
int x, y, z;
x = y = z = 0;
int c = 0;
for (int i = 0; i <= 9; i++)
{
scanf_s("%d", &a[i]);
}
for (int i = 0; i <= 9; i++)
{
b = a[i];
while(b > 100 || b < 0) {
c++;
break;
}
switch (b / 5) {
case 18:
case 19:
case 17:
case 20:
count++;
break;
case 15:
case 16:
x++;
break;
case 12:
case 13:
case 14:
y++;
break;
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
z++;
break;
default:
;
}
}
printf(“优秀人数%d\n”, count);
printf(“良好人数%d\n”, x);
printf(“合格人数%d\n”, y);
printf(“不合格人数%d\n”, z);
printf(“你的成绩出现不合法的成绩%d\n”, c);
return 0;
}

运行结果图:
最后运行结果图
困难:
本来一开始想使用if语句进行判断成绩是否合法,后来发现如果使用if语句进行判断我不能实现每个数据的判断,后来使用了while语句就可以进行每个数据的判断。
缺点:
好像使用switch语句使代码有点繁琐,目前没有想到其他语句实现,希望之后能改正。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值