首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
admin
2018-08-11
51
问题
使用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 N10
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,45,38};
for(i=0;i<N;i++)
printf("%d",x
);
printf("\n");
fun(x);
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://www.kaotiyun.com/show/Xjxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数语第一个数兑换,把最大的数语最后一个数对换。请填空。#include<stdio.h>voidf(intx[],intn){i
在C语言中,函数返回值的类型最终取决于
下列程序的输出结果是()。#include<stdio.h>voidmain(){inta=0,b=1,C=2;if(++a>0||++b>0)++c;printf("%d,%d,%d",a,b,C);}
有以下程序:main(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){
在下列选项中,没有构成死循环的程序段是()。
下列程序运行后的输出结果是______。main(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf("%d\n",c);
有如下程序:longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%d\n",fib(3));}
若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为()。
数据的存储结构是指()
下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其他依此类推。请填空。Fun(intx,intb[]){intk=0,r;do{r=x%2
随机试题
基尔霍夫定律是直流电路的定律,对于交流电路是不能应用的。()
有程序段如下:MOVBL,96HMOVAL,BLMOVCL,1SHRAL,CLMOVBH,ALANDBL,OFHINT3程序执行后
A.酸溶血试验阳性B.抗人球蛋白试验阳性C.高铁血红蛋白还原试验异常D.血红蛋白电泳异常溶血性贫血确定病因:葡萄糖6-磷酸脱氢酶缺乏症
金融界按资金借贷期限长短把金融市场分为()。
阅读材料,根据要求完成教学设计。表格数据的处理是《信息技术基础(必修)》教材中第四章第二节的第一部分内容。在前一节已经让学生明确了解了信息的表格化是结构化表达信息的一种方式,对信息进行表格化加工和处理,是信息处理中的一个重要技能。借助表格,可以对
当夜深人静,即将准备进入梦乡时,我们的身体常常会突然抽搐一下,这种抽搐通常被科学家们称作临睡肌跃症(又称人睡抽动)。目前没有研究彻底搞明白它的原因,因而人们对此有诸多猜测。有一种解释认为,人脑是基于爬行动物的大脑进化而来的,因此仍然保留了一部分爬行动物的应
(2006年真题)下列关于法治的表述,正确的有
庄子,姓庄,名周,字子休(一说子沐),【R51】______中期宋国蒙人,先祖是宋国君主宋戴公,是东周著名的【R52】______、哲学家和文学家。他创立了重要的华夏哲学学派“庄学”,是继老子之后道家学派的主要代表人物之一。庄周因崇尚【R53】_
模板对类型的参数化提供了很好的支持,因此()。
(1)ScarlettrecalledbitterlyherconversationwithGrandmaFontaine.Onthatafternoontwomonthsago,whichnowseemedyears
最新回复
(
0
)