首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正
admin
2016-12-06
58
问题
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正整数如下:
初始数列为:6 5 7 23 18 5 8 21 45 38
第1组数为:6 5 7 中值为:6替换后的数列为:
6 6 7
23 18 5 8 21 45 38
第2组数为:5 7 23 中值为:7替换后的数列为:6
6 7 23
18 5 8 21 45 38
第3组数为:7 23 18中值为:18替换后的数列为:6 6
7 18 18
5 8 21 45 38
第4组数为:23 18 5中值为:18替换后的数列为:6 6 7
18 18 5
8 21 45 38
第5组数为:18 5 8 中值为:8替换后的数列为:6 6 7
18 8 8
21 45 38
第6组数为:5 8 21 中值为:8替换后的数列为:6 6 7 18 18
8 8 21
45 38
第7组数为:8 21 45 中值为:21替换后的数列为:6 6 7 18 18
8 21 45
38
第8组数为:21 45 38 中值为:38替换后的数列为:6 6 7 18 18 8 8
21 38 38
最终结果为:6 6 7 18 18 8 8 21 38 38
请改正程序中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include <stdio.h>
2 #define N 10
3 int findmid(int a,int b,int c)
4 {int t;
5 t=(a>b)? (b> c? b:(a> c? c:a)):((a>c)?a:((b>c)?c:b));
6 /*********found*********/
7 return b;
8 }
9 void fun(int x[])
10 {int i,a,b,c,t[N];
11 /*********found*********/
12 for(i=0;i<N;i++)t
=x
13 for (i=0;i<N-2;i++)
14 {a=t
;b=t[i+1];c=t[i+2];
15 /*********found*********/
16 t[i+1]=findmid(a,b,c);
17 }
18 }
19 main ()
20 {int i,x[N]={6,5,7,23,18,5,8,21,45,38};
21 for(i=0 ; i<N;i++)
22 printf(’’%d’’,x
);
23 printf(’’\n’’);
24 fun(x);
25 for(i=0;i<N ; i++)
26 printf(’’%d’’,x
);
27 printf(’’\n’’);
28 }
选项
答案
(1)return t; (2)for(i=0;i
解析
(1)函数findmid的功能是找到a、b、c三个数中的中间数,并存放在变量t中,因此应返回t。
(2)语法错误,句末缺少分号。
(3)本程序是对数组x进行操作,数组t只是用来暂时存放数组x中的元素,因此此处应为x[i+1]=findmid(a,b,c)。
转载请注明原文地址:https://kaotiyun.com/show/ENDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
注释说明了程序的功能,它分为【】注释和功能性注释。
有以下程序:main(){charp[]={’a’,’b’,’c’},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q));};程序运行后的输出结果是____
有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;}程序在执行了c=&b;b=&a;语句后,表达式**c的值是______。
以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是______。
以下程序运行后的输出结果是______。main(){inta=1,b=2,c=3;if(c=a)printf("%d\n",c);elseprintf("%d\n",b);}
有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*P,*q,*r;
若有以下说明和语句:intc[4][5],(*p)[5];p=C;能够正确引用c数组元素的是______。
有以下程序:main(){intx=0,y=5,z=31while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);
以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main()/*Beginning*/{intr;floats;scanf("%d",&r);s=*π*r*r*r;printf("
有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是______。
随机试题
生产现场起重、高空作业常用的辅助用具棕绳是由()编制而成的。
对那些对本企业有疑问的消费者,最好采用()
以下属于资产负债表项目的有()。
(2017年)下列各项中,可以作为企业产品定价目标的有()。
根据《银行账户管理办法》的规定,企业对更新改造的资金可以申请开立的银行账户是( )。
某股份有限公司董事会召开会议,该次会议召开的情况以及讨论的有关问题如下:(1)股份公司董事会由7名董事组成,出席该次会议的董事有董事A、董事B、董事C、董事D,董事E因出国考察不能出席会议;董事F因参加人民代表大会不能出席会议,通过电话委托董事A
敦煌石窟中有一幅画,画中,佛在打坐,群魔正在打扰他,这些群魔有的嘴里在向佛喷火,于是李约瑟立刻得出结论,这是中国最早的火焰发射器,或者是喷火枪的图片,证据确凿。然后更进一步得出结论,中国喷火枪的使用晚于投射炸药包的火炮,早于火箭。就凭一幅宗教神话壁画,李约
(江苏2010A—27)2010年2月15日后第80天的日期是()。
A.SellB.poorestC.shunD.perhapsPhrases:A.donot【T13】______itandcallithardnamesB.Itlooks【T14】______whenyouare
A、Doherhomework.B、Cleanthebackyard.C、Washclothes.D、Enjoythebeautifulday.C本题属于第二个说话者中间带but的转折题。But后面是答案。本题But后面的话是:有许
最新回复
(
0
)