2013~2014C语言程序设计1第一套一、改错题1.题目要求下列给定程序中函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值
其中x和y的值不相等,z和y的值不相等
例如,当x的值为9,y的值为11,z的值为15时,函数值为-3
请改正程序中的错误,使它能得出正确的结果
注意:部分源程序在文件MODI1
C中,不得增行或删行,也不得更改程序的结构
#include#include#include/************found************/#defineFU(m,n)((m/n))floatfun(floata,floatb,floatc){floatvalue;value=FU(a+b,a-b)+FU(c+b,c-b);/************found************/Return(Value);}main(){floatx,y,z,sum;printf("Inputxyz:");scanf("%f%f%f",&x,&y,&z);printf("x=%f,y=%f,z=%f\n",x,y,z);if(x==y||y==z){printf("Dataerror
\n");exit(0);}sum=fun(x,y,z);printf("Theresultis:%5
2f\n",sum);}2.算法分析①#defineFU(m,n)((m/n))错误这样定义FU(m,n)造成语句value=FU(a+b,a-b)+FU(c+b,c-b)执行为value=(a+b/a-b)+(c+b/c-b),所以应该将语句#defineFU(m,n)((m/n))改为#defineFU(m,n)(m)/(n)②语句Return(Value);错误C语言中大小写字母有不同的含义,此处希望执行返回value的值的操作