首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正
admin
2016-12-06
77
问题
给定程序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全国计算机二级
相关试题推荐
有以下程序:matin(){char*s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[o]);}
以下程序运行后的输出结果是______。main(){inta=1,b=2,c=3;if(c=a)printf("%d\n",c);elseprintf("%d\n",b);}
有以下程序:main(){charal=’M’a2=’m’;printf("%c\n",(al,a2));}以下叙述中正确的是______。
有以下定义语句:doublea,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是______。
有以下程序:main(){intnum[4][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12),{13,14,15,16}},i,j;for(i=0;i
以下程序的功能是将字符串s中的数字字符放人d数组中,最后输出d中的字符串。例如,输入字符串abc123edf456gh,执行程序后输出123456。请填空。#include<stdio.h>#inclu
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
有以下程序中若有如下说明和定义语句;charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;…}以下选项中对函
结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、【】和限制使用goto语句。
下列程序的功能是将字符串s中所有的字符c删除。请填空。#include<stdio.h>main(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!=’\0’;i+
随机试题
Wedidn’tknowhistelephonenumber,otherwisewe______him.
A.肾盂B.肾静脉C.肾动脉D.肾乳头E.肾柱肾蒂中位于最上方的结构是
预防过敏性哮喘最好选用
干槽症的特征性表现是
()的基本原理是运用逻辑学的方法,来推断预测对象未来发展趋势。
贷前调查完成后,银行经办人应对调查结果进行整理、分析,提出是否同意贷款的明确意见及()等方面的建议。
在我国文化史上,()都可以表示“第一”。
设二次型f(x1,x2,x3)=x12-x22+2ax1x3+4x2x3,的负惯性指数为1,则a的取值范围是__________.
The______whichinlaterlifehedevelopedtowardsCharlestonsuggeststhathis______childhoodhadleftunsatisfiedhisneedfor
Youshouldspendabout20minutesonQuestions1-13,whicharebasedonReadingPassage1below.TheConnection
最新回复
(
0
)