首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.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。 请改正程序中的错误,
给定程序MODI1.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
2018-09-27
47
问题
给定程序MODI1.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函数,不得增行或删行,也不得更改程序的结构。
1 #include<stdio.h>
2 #include<math.h>
3 #include<stdlib.h>
4 /**********found**********/
5 #define FU(m,n) (m/n)
6 float fun(float a,float b,float c)
7 { float value;
8 value=FU(a+b,a-b)+FU(c+b,c-b);
9 /**********found**********/
10 Return(value);
11 }
12 main()
13 { float c,y,z,sum;
14 printf(’’Input x y z:’’);
15 scanf(’’%f%f%f’’,&x,&y,&z);
16 printf(’’x=%f,y=%f,z=%f\n’’,x,y,z);
17 if(x==y|| y==z)(printf(’’Data error!\n’’);exit(0);}
18 sum=fun(x,y,z);
19 printf(’’The result is:%5.2f\n’’,sum);
20 }
选项
答案
(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)”,因为“/”的优先级高于“+”或“-”,所以,要使用括号限定计算优先顺序。所以将“#defineFU(m,n)(m/n)”改为“#define FU(m,n)((m)/(n))”。
(2)第二个标识下返回语句的关键字有误。所以,第二个标识下“Return(value);”应该改为“return(value);”,C语言中没有“Return”这个关键字。
转载请注明原文地址:https://kaotiyun.com/show/48xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的功能是将字符串s中所有小写字母’a’删去,请填空。#include<stdio.h>main(){chars[]="absuWWUDJFKFLaaakdK";inti,j;for(i=j=0;s[i]!=
有以下程序#include.<string.h>main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是
有如下程序: main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]!=’
以下函数值的类型是______。fun(floatx){floaty;y=3*x-4;returny;}
有以下程序段: typedef struct NODE {int num; struct NODE *next; }OLD; 以下叙述中正确的是 ______。
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
以下四个选项,不能看作一条语句的是()。
已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置填空。voidfun(inta[N],intk){inti:for(i=k;i
随机试题
阅读《大同》中一段文字,回答问题。大道之行也,天下为公,选贤与能,讲信修睦。故人不独亲其亲,不独子其予,使老有所终,壮有所用,幼有所长,矜、寡、孤、独、废疾者,皆有所养。男有分,女有归。货恶其弃于地也,不必藏于己;力恶其不出于身也,不必为己。是故
血清中抗线粒体抗体阳性多见于
荧光抗体染色技术中,特异性最高,非特异性染色最低的方法是
治疗痰饮脾阳虚弱证宜选用()
仲裁是与民事诉讼有显著区别的一种纠纷解决方式,关于仲裁的特点,下列说法正确的是:()
建设项目防治污染的设施必须与主体工程做到几个同时,下列说法中哪个是不必要的?()
为顺利进行通风与空调工程的施工,在施工中应注意与()密切协调配合。
已定义以下函数intfun(int*P){return*P;}fun函数的返回值是()。
Whyisonlinebillpaysaferthantraditionalmethods?
Sometimes,evidenceofintelligencecanbeseeninattemptstodeceive.
最新回复
(
0
)