关于c语言求两个任意整数的均值,用average函数

#include<stdio.h>
void main()
{
int x,y;
int average;
scanf("%d %d",&x,&y);
average=(x+y)/2;
printf("average = %d\n",average);
}
哪里出错了
#include<stdio.h>
void main()
{
int x,y;
float average;
scanf("%d %d",&x,&y);
average=(x+y)/2;
printf("average = %f\n",average);
}
结果杂都是0

错就错在,你average是int,也就是整数类型。

你怎么知道x和y的平均值是整数?如果是小数,你的程序就不对了。

#include<stdio.h>
void main()
{
int x,y;
double average;
scanf("%d %d",&x,&y);
average=(x+y)/2.0;
printf("average = %f\n",average);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-01

1、c语言的中没有现成的求平均数函数,可以自己定义一个求平均数的函数
2、例如:

double Average(double s[],int n)
{
    if(n==0)return 0;
    double sum=0;
    for(int i=0;i<n;i++)sum+=s[i];
    return sum/n;
}

第2个回答  2014-03-19
两个整数的均值可能出现0.5,你的average是整数,出在这里了
你可以用double类型
也可以直接判断是不是有0.5,有的话加上去
相似回答