C语言:下列给定程序中,函数fun的功能是:计算函数f(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。

其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为1、z的值为15时,函数值为3.50。
这是我写的,不知道哪里错了。
#include<stdio.h>
#include<math.h>
int main()
{
float fun(float x,float y,float z);
float x,y,z,sum;
printf("输入x,y,z的值: ");
scanf("%f%f%f",&x,&y,&z);
while(fabs(x-y)<1e-6||fabs(z-y)<1e-6)
{
printf("要求x和y不相等,z和y不相等,请重新输入: ");
scanf("%f%f%f",&x,&y,&z);
}
printf("函数值= %f\n",fun(x,y,z));
return 0;
}

float fun(float x,float y,float z)
{
float sum;
sum=(x+y)/(x-y)+(z+y)/(z=y);
return sum;
}
运行后弹出一堆乱七八糟的东西。。。。。怎么改?


这是我直接复制你的,运行没有出错,不过答案跟你的不一样

不知道你要的是什么效果,可以具体叙述下?

还有你 sum=(x+y)/(x-y)+(z+y)/(z=y);
语句里面有个z=y,可能是这里出错了,应该是减号吧,猜的。

追问

我的是这样的。。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-18
float fun(float x,float y,float z) {
float sum;
sum = (x+y)/(x-y)+(z+y)/(z-y); // z-y 不是 z=y
return sum;
}