首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
2019-09-02
51
问题
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。
例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
void fun(float*a,float*b,float*c)
{
/**********found**********/
float *k;
if(*a<*b)
{ k=*a;*a=*b;*b=k;}
/**********found**********/
if(*a>*c)
{ k=*c, *c=*a; *a=k;}
if(*b<*c)
( k=*b;*b=*c;*c=k;}
}
main()
{ float a,b,c;
printf("Input a b c:");scanf("%f%f%f",&a,&b,&c);
printf("a=%4.1f,b=%4.1f,c=%4.1 f\n\n",a,b,e);
fun(&a,&b,&c);
printf("a=%4.1f,b=%4.1 f,c=%4.1f\n\n",a,b,c);
}
选项
答案
(1)float k; (2)if(*a<*c)
解析
函数对三个数进行两两比较,实现判断。
(1)第一个标识下的变量k是在比较过程中,临时存放数据的变量,因此k不应是指针,所以将“float*k;”改为“floatk;”。
(2)分析函数中第一个if语句,如果主函数中a<b,则对调,把大数放在a中;分析第二个if语句,如果主函数中的a>c,则进行对调,又把大数放在c中,这样的逻辑显然是混乱的。因此,第二个标识下“if(*a>*c)”应该改为“if(*a<*c)”。
转载请注明原文地址:https://kaotiyun.com/show/iORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序在文件PROG1:
给定程序中,函数fun的功能是建立一个NxN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:111111
针对简单程序设计,以下叙述的实施步骤顺序正确的是
下列排序方法中,最坏情况下比较次数最少的是
阅读以下程序#includemain(){intcase;floatprintf;printf("请输入2个数:"):scanf("%d%f",&case,&printF);printf("%d%f\n",case,printF);}
以下选项中不能用作C程序合法常量的是
有以下程序#includevoidfun(char*a,char*b){while(*a==’*’)a++;while(*b=*a){b++;a++;}}main(){char*s="*a*b*",t[
有以下程序#includevoidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*p,int*q){p=
下面不属于软件工程过程的4种基本活动
不能正确表示数学式的表达式是
随机试题
下列哪一类细胞产生IgE
女患者,47岁,停经2个月,阴道出血20天,开始量少,近3天量多,色淡质稀,腰膝酸软,面色晦暗,畏寒强冷,舌淡,苔薄白,脉沉细。中医辨证为
A、健胃B、和胃止痛C、缓急止痛D、健脾E、理气良附丸除能温胃外,还能
关于处理好关系文化建设全局的重要问题,正确的说法是()。
离差智商()。
1985年的邓小平主持召开的中央军委扩大会议对军队建设指导思想做出了战略性的转变,由准备“早打、大打、打核战争”的临战状态转到和平时期的建设轨道上来。()
令[*],则x=t2,dx=2tdt,故[*]
下列各类计算机程序语言中,不属于高级程序设计语言的是()。
-Doyouthinkthatthelaborbillwillbepassed?-Oh,yes.It’s______thatitwill.
WhichofthefollowingdetailsisINCORRECT?
最新回复
(
0
)