首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
admin
2020-06-02
27
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件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
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
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函数,不得增行或删行,也
不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 10
int findmid(int a,int b,int c)
{ int t;
t=(a>b)? (b>c?b:(a>c?c:a)):((a>c)?a:((b>c)?c:b));
/*********found*********/
return b;
}
void fun(int x[])
{ int i,a,b,c,t[N];
/*********found*********/
for(i=0;i<N;i++)t
=x
for(i=0;i<N-2;i++)
{ a=t
;b=t[i+1];c=t[i+2];
/*********found*********/
t[i+1]=findmid(a,b,c);
}
}
main()
{ int i,x[N]={6,5,7,23,18,5,8,21,4 5,38};
for(i=0;i<N;i++)
printf("%d",x
);
printf("\n");
fun(Xx);
for(i=0;i<N;i++)
printf("%d",x
);
printf("\n");
}
选项
答案
(1)return t; (2)for(i=0;i<N;i++)t[i]=x[i]; (3)x[i+1]=findmid(a,b,c);
解析
(1)函数findmid的功能是找到a、b、c三个数中的中间数,并存放在变量t中,因此应返回t。
(2)语法错误,句末缺少分号。
(3)本程序是对数组x进行操作,数组t只是用来暂时存放数组x中的元素,因此此处应为x[i+1]=findmid(a,b,c)。
转载请注明原文地址:https://kaotiyun.com/show/UqCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。
下列定义数组的语句中错误的是()。
设有定义:doublea[10],*s=a;,以下能够代表数组元素a[3]的是()。
有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;pfinff("%d\n
在线性表的链式存储结构中,其存储空间一般是不连续的,并且()。
设循环队列的存储空间为Q(1:50),初始状态为front=Fear=50。现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为()。
有以下程序段:#include<stdio.h>intj;floaty;charname[50];seanf("%2d%f%s",&j,&y,name);当执行上述程序段时,从键盘上输入555667777abc后,y的值为()。
若有定义:inta,b;,通过语句scanf(”%d;%d”,&a,&b);能把整数3赋给变量a、5赋给变量b的输入数据是()。
若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是()。
有以下程序#includeintf(intn);main(){inta=3,s;intf(intn){staticinta=1;s=f(a);n+=a
随机试题
甲公司的年末数如下:流动负债60万元,流动比率3.0,速动比率2.5,销售成本50万元,另:年初存货为25万,那么甲公司存货周转率是多少?
HeAwasseeingsomebodyBcreepingintothehouseCthroughtheDopenwindowlastnight.
下列因素中,最常见的诱发和加重心力衰竭的因素是
甲乙公司签订一份电脑买卖合同,只约定乙公司在2000年12月29日交货,未约定甲交付货款的时间且未达成补充协议的,则()。
行政赔偿请求人对赔偿义务机关不予赔偿的决定不服,向人民法院提起行政赔偿诉讼的期限为收到赔偿义务机关不予赔偿的决定书之日起()。
银行存款实有数为()。
单纯的理性的逻辑方法,难以避免现实上的失误。人们的感情、人们的意志、人们的理想和道德,在经济行为中,也会起到巨大的作用。单纯的工程学或逻辑方法,是不够用的。亚当.斯密指出,人们的活动是受自利引导,市场则以互利为原则,这一点被现代经济学家所继承和发展了。但人
ThejournalScienceisaddinganextraroundofstatisticalcheckstoitspeer-reviewprocess,editor-in-chiefMarciaMcNuttann
HershortstayinKentuckyinthemid-nineteenhundredswasveryimportanttoauthorMaryHolmes,_______providedthebackgroun
A、Thehurricane.B、Thefoodcrisis.C、Thewatercrisis.D、Theannualbushfire.D
最新回复
(
0
)