首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。 请改正程序中的错误,使
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。 请改正程序中的错误,使
admin
2017-07-27
53
问题
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。
例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
1 #include<stdio.h>
2 void fun(float *a,float *b,float * c)
3 {
4 /**********found**********/
5 float *k;
6 if(*a<*b)
7 { k=*a; *a=*b; *b=k;}
8 /**********found**********/
9 if(*a>*c)
10 { k=*c; *c=*a; *a=k,}
11 if(*b<*c)
12 { k=*b;*b=*c;*c=k;}
13 }
14 main()
15 { float a,b,c;
16 printf(’’Input a b c:’’); scanf(’’%f%f%f’’,&a,&b,&c);
17 printf(’’a=%4.1f,b=%4.1f, c=%4.1f\n\n’’,a,b,c);
18 fun(&a,&b,&c);
19 printf(’’a=%4.1f,b=%4.1f, c=%4.1f\n\n’’,a,b,c);
20 }
选项
答案
(1)float k; (2)if(*a<*c)
解析
函数对三个数进行两两比较,实现判断。
(1)第一个标识下的变量k是在比较过程中,临时存放数据的变量,因此k不应是指针,所以将“float*k;”改为“float k;”。
(2)分析函数中第一个if语句,如果主函数中a<b,则对调,把大数放在a中;分析第二个if语句,如果主函数中的a>c,则进行对调,又把大数放在c中,这样的逻辑显然是混乱的。因此第二个标识下“if(*a>*c)”应该改为“if(*a<*c)”。
转载请注明原文地址:https://kaotiyun.com/show/MKDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作()。
下列字符数组初始化语句中,不正确的是()。
有以下程序,其中%u表示按无符号整数输出()。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf("%u\n",x);}程序运行后的输出结果是()。
执行程序时的输入为123456789,则程序的运行结果为()。#include"stdio.h"main(){inta,b;scanf("%2d%*2d%1d",&a,&B);printf("%d\n",
假设有语句sizeof(double),则它是()。
栈和队列的共同特点是()。
下列程序输出结果是()。#includemain(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’\0’};inti,j;i=sizeof(a);
是构成C语言程序的基本单位。
在学生管理的关系数据库中,存取一个学生信息的数据单位是()。【10年3月】
随机试题
根据课的任务把课分成两类即()
具有补肾益精、养血益气功效的药物是
A.破气B.纳气C.补气D.降气E.疏肝
A.商丘B.丘墟C.照海D.申脉E.然谷在踝区,外踝尖直下,外踝下缘与跟骨之间凹陷中的腧穴是
动物细胞培养的工具酶是()。
关于公司资本结构的有关说法,正确的有()。
实现课程管理的统与分的有机整合,是世界课程管理的总的趋势。()
辉辉一边拆卸遥控汽车一边说:“我想知道汽车是怎么跑起来的。”这说明辉辉()
只要给足了时间和适当的教学,几乎所有的学生对几乎所有的内容都能达到掌握的程度。这是()。
入职后,你被外派到边远地区,你如何看待这件事?追问:你是否是独生子女?作为独生子女。你如何看待外派?
最新回复
(
0
)