下列给定程序中,函数fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中x和y不相等,z和y不等。例如,当x的值为9,y的值为11,2的值为15时,函数值为-3.50。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio. h>
include <math. h>
/**************found******************/
define FU(m, n) (m/n)
float fun(float a, float b, float c)
{ float value;
value=FU(a+ b, a-b)+FU(c+ b, c-b);
/*************found******************/
return(Value);
}
main()
{ float x, y, z, sum;
printf ("Input x y z:: ");
scanf("%f%f%f", &x, &y, &z);
printf("x=%f, y=%f, z=%f\n ",x, y, z);
if (x==y||y==z) {printf ("Data error! \n ");
exit (0); }
sum=fun (x, y, z);
printf("The result is:%5. 2f\n ",sum);
}
第1题:
有下列函数定义: int fun(double a,double B) {return a*b;} 若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。
A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(x,y)x,y);
D.fun(x,y);
第2题:
有下列函数定义: int fun(double a,double b) {return a*b;} 若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。
A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(x,y)x,y);
D.fun(x,y);
第3题:
先将x的值加1,然后把x和y的差赋给z。若用一条C语句完成操作,则相应的语句是()。
A.z=++x-y;
B.z=(x+=1)-y;
C.z=(x,x-y);
D.z=(x++,x-y);
第4题:
有下列函数定义:
int fun(double a,double B)
{return a*b;}
若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。
A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(x,y)x,y);
D.fun(x,y);
第5题:
10、先将x的值加1,然后把x和y的差赋给z。若用一条C语句完成操作,则相应的语句是()。
A.z=++x-y;
B.z=(x+=1)-y;
C.z=(x,x-y);
D.z=(x++,x-y);