求平均值出错,小菜问问.
#include <stdio.h>
#include <math.h>
int num[1000];
int n,i;
int sum=0;
void input()
{
printf( "please input n: ");
scanf( "%d ",&n);
printf( "please input %d number: ",n);
for (i=0;i <n;i++)
scanf( "%d ",&num[i]);
}
int qiuhe()
{
for (i=0;i <n;i++)
sum+=num[i];
return (sum);
}
float pjz()
{
float pingjun;
float m;
m=qiuhe();
pingjun=(float)m/n;
return(pingjun);/*这部分哪里出了问题?为什么平均值输出的结果不对?谢谢*/
}
void main()
{
input() ;
printf( "输入的个数:%d\n ",n);
printf( "和为: %d\n ",qiuhe());
printf( "平均值为:%f\n ", pjz());
getch();
}
[解决办法]
void main()
{
input() ; // 这里进行了一次求和
printf( "输入的个数:%d\n ",n);
printf( "和为: %d\n ",qiuhe()); // 这里又进行了一次求和,去掉这一行就好了
printf( "平均值为:%f\n ", pjz()); // 结果是两次求和的平均值
getch();
}