c语言程序改错题★急!!!在线等!!

来源:百度知道 编辑:UC知道 时间:2024/05/05 10:44:31
/**下面函数的功能是求10个数的平均数,运行无误,只是结果总是0。请各位高手帮我改改错。谢谢!**/
#include<stdio.h>
main()
{
float f();
f();
}

float f()
{
int i;float x,A,s=0;
for(i=0;i<=9;i++)
{
scanf("%d",&x);
s+=x;
}
A=S/10;
printf("Average=%f",A);
}

scanf("%d",&x); 改为scanf("%f",&x);

你的这个程序编译的时候就有问题,首先是x你定义的是单精度,但是你输入却是整型,另外S没有定义,我改过之后,编译通过了,但是就是不能运行。就把你的这个程序改写了,供参考。

#include<stdio.h>
int main ()
{
int i;
float x,sum,average;
sum=0;
for(i=1;i<=10;i++)
{
scanf("%f",&x);
sum=sum+x;
}
average=sum/10;
printf("average=%f",average);
}

对于“/”,若两端都为整型,则结果为整型
若至少一个实型,则为实型
你的输入数应该定义为实型

修改后
#include<stdio.h>
void main()
{
float f();
f();
}

float f()
{
int i;float x,A,s=0;
for(i=0;i<=9;i++)
{
scanf("%f",&x); //d改为f
s+=x;
}
A=s/10; //大S改为小s
printf("Average=%f",A);
return 0;
}

把i定义为float就可以了