首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
2020-07-28
91
问题
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。
例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
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,c);
fun(&a,&b,&c);
printf("a=%4.1f,b=%4.1f,c
=%4.1f\n\n”,a,b,c);
}
选项
答案
(1)float k; (2)if(*a<*c)
解析
(1)第一个标识下的变量k是在比较过程中,临时存放数据的变量,因此k不应是指针,所以将“float*k;”改为“float k;”。
(2)分析函数中第一个if语句,如果主函数中a
c,则进行对调,又把大数放在c中,这样的逻辑显然是混乱的。因此第二个标识下“if(*a>*c)”应该改为“if(*a<*c)”。
转载请注明原文地址:https://kaotiyun.com/show/7X3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是
以下程序段完全正确的是
若有定义语句charc=’\101’;则变量c在内存中占
有以下程序#include<stdio.h>#include<string.h>voidfun(int*p1,int*p2,int*s){s=(int*)calloc(1,sizeof(int));*s=*p1+*p2;free(s);}ma
下面属于系统软件的是
以下选项中不能用作C程序合法常量的是
以下函数按每行8个输出数组中的数据:voidfun(int*w,intn){inti;for(i=0;i<n;i++){_______printf("%d",w[i]);}printf("\n");}下划线处应填入的语句是
在嵌套使用if语句时,C语言规定else总是
下列选项中不属于结构化程序设计方法的是
某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根节点在第1层)为()。
随机试题
A.止血B.活血C.降血压D.消痰水E.利小便豨莶草除祛风湿、通经络外,又能
患者,男性,40岁。有甲亢病史10年,经内科治疗无效,现决定手术治疗,术前使用抗甲状腺药物加碘剂做术前准备。术后病人返回病房,护士要求病人说话,其目的是判断病人有无
通信主管部门为调查案件需要,有权依法进行现场勘验,()。
在贝塔系数中,当贝塔系数大于0时,()。
菱形的对角线相等,正方形是菱形,所以正方形的对角线相等,以上三段论推理中错误的是().
区内众多打工子弟学校被关停后,教委分流工作没有跟上,导致很多学生失学,学生家长聚集在教委门口举横幅讨说法。领导让你处理此事,你会怎么做?
田野:小麦:麦粒
求幂级数的和函数.
若有定义intx,y;并已正确给变量赋值,则下列选项中与表达式(x—y)?(x++):(y++)中的条件表达式(x.y)等价的是()。
计算机最主要的工作特点是()。
最新回复
(
0
)