首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:计算函数(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。 例如,当X的值为9、y的值为11、Z的值为15时,函数值为-3.50。 请改正程序
给定程序MODll.C中函数fun的功能是:计算函数(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。 例如,当X的值为9、y的值为11、Z的值为15时,函数值为-3.50。 请改正程序
admin
2015-06-08
46
问题
给定程序MODll.C中函数fun的功能是:计算函数(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。
例如,当X的值为9、y的值为11、Z的值为15时,函数值为-3.50。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
#include
#include
/**********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.2 f\n”,
sum);
}
选项
答案
(1)#define Fu(m,n) ((m)/(n)) (2)return (value);
解析
本题中函数的功能是计算题干中给出的公式值。本题的解题过程是利用了定义的宏FU,实现了函数中给出的公式的求值。
[解题思路]
(1)函数fun两次调用宏FU来计算“value=FU(a+b,a-b)+Fu(c+b,c-b);”。检查宏的定义是否正确,可以用实参代入宏进行展开:(a+b/a-b),由此看到,FU(a+b,a-b)进行的计算不是(a+b)/(a_b),而是(a+b/a_b),因为“/”的优先级高于“+”或“.”,所以要使用括号限定计算优先顺序。所以将“#define FU(m,n)(m/n)”改为“#define FU(m,n)((m)/(n))”。
(2)第二个标识下返回语句的关键字有误。所以,第二个标识下“Returll(value);”应该改为“return(value);”,C语言中没有“Return”这个关键字。
转载请注明原文地址:https://kaotiyun.com/show/ViJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下能正确定义数组并正确赋初值的语句是()。
有以下程序:main(){intaa[4][4]:{{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,S=0;for(i=0;i<4;i++)s+=aa[i][1];
下面程序的输出结果是【】。charb[]="ABCD";main(){charb[30];strcpy(&b[0],"GH");strcpy(&b[1],"GH”);strcp
有以下程序:intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*f1)(),int(*f2)(),(intx){returnf2(x)-f1(
下面程序的输出是【】。main(){intarr[10],i,k=0;for(i=0;i<10;i++)arr[i]=i;for(i=1;i<4;i++)k+=arr
库函数strcpy用以复制字符串,若有以下定义和语句:charstr1[]="china",str2[10],*str3,*str4="china";则对库函数strcpy的正确的调用是_______。
若有以下说明和语句,请选出哪个是对c数组元素的正确引用_______。intc[4][5],(*cp)[5];cp=c;
阅读以下函数:fun(char*s1,char*s2){inti=0;while(s1[i]==s2[i]&&s2[i]!=’\0’)i++;return(s1[i]==&&s2{i)!==’\0’)
实现程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于copy命令),假定文件在当前目录下。请补全程序。#include<stdio.h>voidmain(intargc,char*argv[])
随机试题
I’dliketodiscusswithyouthesecretsofgoodconversation.Whensomeonetellsyouthatyouhavetogiveaspeech,your【B1】_
下列哪药不是源于蔷薇科植物
扶正祛邪的基本原则是
患者,外伤后遵医嘱输血。在输血之前先输入少量0.9%氯化钠溶液,而不是5%葡萄糖溶液。护士合理的解释是
个人年度总额内购汇、结汇,可以委托其直系亲属代为办理。()
创新活动的基本特征包括()等。
下列不属于旅游被投诉者的权利是()。
下列病句修改不正确的一项是:
Itisvalidtospeculatethatmemoryistheoldestmentalskill,fromwhichallothersderive.
Thankstheirhugelypopularmobile-paymentsystems,AlipayandWeChatPay,cashhasmoreorlessvanishedfromChina’seasternc
最新回复
(
0
)