首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,e=12.0。 请改正程序中的错误,使它
给定程序MODll.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,e=12.0。 请改正程序中的错误,使它
admin
2013-03-29
26
问题
给定程序MODll.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。
例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,e=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.1f\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;"改为“floatk:"。
(2)分析函数中第一个if语句,如果主函数中a
c,则进行对调,又把大数放在c中,这样的逻辑显然是混乱的。因此第二个标识下“if[*a>*c)"应该改为“if(*a<8c)"。
转载请注明原文地址:https://www.kaotiyun.com/show/ZWJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序段用于构成一个简单的单向链表。请填空。struetSTRU{intx,y;floatrate;【】p;}a,b;a.x=0;a.y=0;a.rate=0;a.p=
以下程序的功能是()#include<stdio.h>main(){FILE*fp1;*fp2;fp1=fopen("filel","r");fp2=fopen("file2","w");wh
以下程序段给数组所有的元素输入数据,请选择正确答案填入。()#inelude<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);
有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i<5;i++)j+
关于if后一对圆括号中的表达式,以下叙述中正确的是()
以下与函数fseek(fp,0L,SEEk_SET)有相同作用的是
以下正确的程序段是
下面程序中有错误的行是()。(每行程序前面的数字表示符号)1main()2{3inta[3]={1};4inti;5scanf("%d",&a);6for(i-
运行下面的程序,其输出结果为______。main(){printf("%d,%d",5%-3,-5%3);}
用筛选法可得到2~n(n
随机试题
中国人民武装警察部队有哪些。
关于真核生物转录因子功能的叙述,正确的是
血管性帕金森综合征的病理表现主要为
大腹皮的功效为
目前拥有世界上成交量最大的黄金期货合约的交易所是()。
A公司与B公司经协商,进行如下债务重组:A公司以一批商品抵偿债务,商品成本为160万元,已计提减值准备40万元,市场公允价格为140万元,增值税税率为17%,债务的账面价值为170万元。则A公司债务重组收益为()万元。
已知an=4n+5,bn=3n,求证:对任意正整数n,都存在正整数p,使得ap=bn2成立.
下列说法错误的是:
对10个候选人进行选举,现有一个100条记录的选票文件IN84.DAT,其数据存放格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选
AddisonHeardusesanimageofhiswifeandinfantsonforthebackgroundonhislaptop.AnMBAstudentattheUniversityofVir
最新回复
(
0
)