将20个学生的数学成绩放入一维数组中,求其平均成绩并统计低于平均分的学生人数。
/*将20个学生的数学成绩放入一维数组中,求其平均成绩并统计低于平均分的学生人数。*/#include<stdio.h>voidmain(){inti,j=0,sum;i...
/*将20个学生的数学成绩放入一维数组中,求其平均成绩并统计低于平均分的学生人数。*/
#include<stdio.h>
void main()
{
int i,j=0,sum;
int a[20];
float ave;
printf("请输入20个学生的数学成绩:\n");
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<20;i++)
sum+=a[i];
for(i=0;i<20;i++)
{if(a[i]<ave)
j++;}
ave=sum/20;
printf("平均分%5.2f\n",ave);
printf("低于平均分人数%3d\n",j);
}
请问这个程序哪里错了 展开
#include<stdio.h>
void main()
{
int i,j=0,sum;
int a[20];
float ave;
printf("请输入20个学生的数学成绩:\n");
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<20;i++)
sum+=a[i];
for(i=0;i<20;i++)
{if(a[i]<ave)
j++;}
ave=sum/20;
printf("平均分%5.2f\n",ave);
printf("低于平均分人数%3d\n",j);
}
请问这个程序哪里错了 展开
5个回答
展开全部
#include<stdio.h>
void main()
{
int i,j=0;
int a[20];
float ave,sum=0.0;
printf("请输入20个学生的数学成绩:\n");
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<20;i++)
sum+=a[i];
ave=sum/20;
for(i=0;i<20;i++)
{if(a[i]<ave)
j++;}
printf("平均分%5.2f\n",ave);
printf("低于平均分人数%3d\n",j);
}
你对比下的,主要是sum要用float型的,还有ave=sum/20;要放for之前;最后祝你学习顺利,求采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ave=sum/20;这一句改为ave=sum/20.0;
因为sum为整型,除以20的话结果也为整型,会舍弃小数部分,得到的平均值不正确
因为sum为整型,除以20的话结果也为整型,会舍弃小数部分,得到的平均值不正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-06
展开全部
ave=sum/20; 这句话要放在统计前面,你这样写的ave没有值,无法比较for(i=0;i<20;i++) sum+=a[i];
ave=sum/20; for(i=0;i<20;i++) {if(a[i]<ave)j++;} 数据都定义成float
ave=sum/20; for(i=0;i<20;i++) {if(a[i]<ave)j++;} 数据都定义成float
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应将ave=sum/20放在倒数第一个循环前
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询