c语言帮我看看这个程序为啥会有这个问题
#include <stdio.h>
main()
{
int aver(float s,float d);
int i,p=0,m;
float a[10],add=0,b;
for(i=0; i<10; i++)scanf("%d",&a[i]);
for(i=0; i<10; i++)add=add+a[i];
add=add/10;
for(i=0; i<10; i++)
{
b=a[i];
m=aver(b,add);
p=p+m;
}
printf("人数:%d ",p);
}
int aver(float s,float d)
{
int n=0;
if(s<d) printf("%f ",s),n=1;
return(n);
}
题目要求输出10个人中低于平均分的分数和人数。
人数输出到时对的,可是为啥最后输出的分数全部都是0?
有dalao能帮帮我吗?
程序至少有一个错
你的a[i]是float的
你用
scanf("%d",&a[i]);
当然得不到时正确的值
要改为
scanf("%f",&a[i]);
上一篇:助听器是不是越小听的越清楚?
热门标签: