首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
98
问题
给定程序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全国计算机二级
相关试题推荐
若输入3、4、5,程序的输出结果为【】。#include"math.h"main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c)
以下程序运行后的输出结果是______。#defineS(x)4*X*x+1main(){inti=6,j=8;printf("%d\n",S(i+i));}
以下程序的功能是将字符串s中所有小写字母’a’删去,请填空。#include<stdio.h>main(){chars[]="absuWWUDJFKFLaaakdK";inti,j;for(i=j=0;s[i]!=
有以下程序 main() {char s[]={"aeiou"},*ps; ps=s; printf("%c\n",*ps+4); } 程序运行后输出的结果是______。
若输入000051,下列程序的运行结果为______。main(){unsignedinta;scanf("%o",&a);printf("%o\n",getbits(a));}getbits(value)unsignedint
有如下程序: 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]!=’
若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。
要求使下列程序输出5个整数,请填空。for(i=0;i<=______;printf("%d\n",i+=2));
随机试题
风险报酬额与原投资额的比率称为()。
Youreallyhavetogetveryoldbeforeyourealizeyou’reold.I’minmymiddlefiftiesandIdon’tfeel【C1】______yet.However,
下列哪一项是恶性组织细胞病的最重要特征
某预应力锚固工程,设计要求的抗拔安全系数为2.0,锚固体与孔壁的抗剪强度为0.2MPa,每孔锚索锚固力为400kN,孔径为130mm,试问锚固段长度最接近于下列哪个选项?()[2010年真题]
“我们唱着东方红,当家做主站起来,我们讲着春天的故事,改革开放富起来……”歌词中所颂扬的带领中国人民“站起来”和“富起来”的伟大领袖分别是()。
抗战时期,党的教育总方针是()。
邓小平重新恢复实事求是思想路线,标志中国共产党在新的时代条件下的伟大觉醒的是()
阅读以下说明,根据要求回答问题1~问题3。【说明】某快递公司为了方便管理公司物品运送的各项业务活动,需要构建一个物品运送信息管理系统。【需求分析结果】(1)快递公司有多个分公司,分公司信息包括分公司编号、名称、经理、办公电话和地址。每个分公司可以
Whatisthewritertryingtodeinthetext?WhichadvertisementwouldMrBirdputinanewspaper?
WhatdoWeknowabouttheWeather?
最新回复
(
0
)