首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
2019-04-04
54
问题
给定程序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函数,不得增行或删行,也不得更改程序的结构。
#include
#include
#include
#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) ;
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)#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)第二个标识下返回语句的关键字有误。所以,第二个标识下“Return (value); ”应该改为“return (value); ”,C语言中没有“Return”这个关键字。
转载请注明原文地址:https://www.kaotiyun.com/show/46Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是()。
下列程序的运行结果是______。#include<stdio.h>main(){inta,b,C;a=3;b=4;c=5;if(a>B)if(a>C)printf("%d",A);
假设用—个长度为50的数组(数组元素的下标从0至到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶揩针top指向栈顶元素,如果bottomn=49,top=30(数组下标),则栈中具有【】个元素。
有以下程序 main() { int a [3][2]={0},(* ptr [2],i,j; for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);pb++;} for(i=0;i<3;i++)
下列程序的运行结果是()。#include<stdio.h>#include<string.h>main(){char*s1="ahDuj";char*s2="ABdUG":intt;t=strcmp(s1,s2);
若有以下程序: main( ) { int k=2,i=2,m; m=(k+=i*=k);printf("%d,%d\n",m,i); } 执行后的输出结果是
有以下程序:#include<stclio.h>main(){charc;while((c=getchar())!=’?’)putchar(--c);}程序运行时,如果从键盘输入:Y?N?<回车>,则
函数sub的功能是根据下面近似分式求π的值。(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)现在请在下面的函数中填空,完成求π值的功能。#include"math.h"doublesub(longm
随机试题
图中标志的含义是___。
的建立约在婴儿________时开始建,直至到________时才完成建。
直肠、肛管的动脉供应包括
下列人体实验类型中,不需要付出道德代价的是
老年急性阑尾炎的临床特点是
预应力损失根据预应力筋应力损失发生的时间可分为长期损失和()损失。
公司住所是确定()等法律事务的依据。
国家税务总局可通过规章的形式设定警告和罚款。下列关于其可设定的罚款额度的规定中,错误的是()。
考生文件夹下存在一个数据库文件“samp3.accdb”,里面已经设计好表对象“产品”、“供应商”,查询对象“按供应商查询”和宏对象“打开产品表”、“运行查询”、“关闭窗口”。试按以下要求完成设计:创建一个名为“menu”的窗体,要求如下:
HowdidLucybuythegifts?
最新回复
(
0
)