#include<stdio.h>
int main()
{
int i,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10;
float a[10],s=0,aver,t;
for(i=0;i<10;i++)
{
printf("请输入学生分数:\n");
scanf ("%f",&a[i]);
s+=a[i]; }
aver=s/10;
for(i=0;i<10;i++)
{
if(a[i]>aver)
{
t++;
}
}
printf("平均分为:%f 高于平均分的人数:%f\n",aver,t);
for(i=0;i<10;i++)
{
int p=a[i]/10;
switch(p)
{
case 0:b0++;break;
case 1:b1++;break;
case 2:b2++;break;
case 3:b3++;break;
case 4:b4++;break;
case 5:b5++;break;
case 6:b6++;break;
case 7:b7++;break;
case 8:b8++;break;
case 9:b9++;break;
case 10:b10++;break;
}
}
printf("分数0-9数人数:%d\n",b0);
printf("分数10-19的人数:%d\n",b1);
printf("分数20-29的人数:%d\n",b2);
printf("分数30-39的人数:%d\n",b3);
printf("分数40-49的人数:%d\n",b4);
printf("分数50-59的人数:%d\n",b5);
printf("分数60-69的人数:%d\n",b6);
printf("分数70-79的人数:%d\n",b7);
printf("分数80-89的人数:%d\n",b8);
printf("分数90-99的人数:%d\n",b9);
printf("分数100的人数:%d\n",b10);
return 0;
}
请大家帮我看看我的代码到底错在哪了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
CSDN专家-link 2021-11-22 19:37关注b0到b10都需要初始化为0
不然你++的基础值是个野值,结果自然不对了
另外大于平均分的人数t最好定义为整型。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录