首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
14
问题
给定程序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全国计算机二级
相关试题推荐
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
以下选项中不合法的标识符是
以下选项中不能用作C程序合法常量的是
表达式3.6-5/2+1.2+5%2的值是
若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
当用户要求输入的字符串中含有空格时,应使用的输入函数是
有3个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
当用户要求输入的字符串中含有空格时,应使用的输入函数是
下列选项中不属于软件生命周期开发阶段任务的是
随机试题
浮点数的加减法运算需要经过_________几个步骤。
共产主义道德的核心()
可以导致多器官功能障碍综合征(MODS)的疾病中,不包括
若将1个完全被放射性标记的DNA分子放于无放射性标记的环境中复制三代后,所产生的全部DNA分子中,无放射性标记的DNA分子有几个
个人消费额度贷款主要用于满足借款人的消费需求,可先向银行申请有效额度,必要时使用,但不使用贷款也需要收取一定利息。()
运输就是使用运输工具对物品进行运送的活动,实现物流的时间效用。
A.术后48~72小时B.术后8天C.术后20天D.术后1~2个月E.术后5~6个月植皮术后血浆维持皮片的时间是()。
纵向研究能提供学习者不同发展期的语言素材,描述整个习得过程。
能打印出一个双引号的语句是System.out.println("______");。
A、 B、 C、 C过去时否定疑问句→省略yes的回答并且说明详细信息
最新回复
(
0
)