首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
admin
2018-08-11
52
问题
使用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://kaotiyun.com/show/Xjxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果为()。#include<stdio.h>voidabc(char*str){inta,b,i,j;for(i=j=0;str[i]!=’\0’;i++)if(str[i
有以下程序main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)fo
下列程序的输出结果是【 】。#include<stdio.h>voidswap(int*a,int*B){int*t;t=a;a=b;b=t;}main(){
己知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序_________。main(){chara=’A’;intb=20;printf("%d,%o",(a=a+a,a+b,B),a+’a
假定下面程序可执行文件名prg.exe,则该程序所在的子目录下输入命令行:prghellogood<回车>后,程序的输出结果是_______。main(intargc,char*argv[]){inti;fo
下列程序的输出结果是()。#include<stdio.h>voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}main(){inta=1,b=2,*x=&a,*y=
设有说明语句如下:staticcharstr[]="Beijing";若执行下列输出语句:printf("%d\n",strlen(strcpy(str,"China")));则输出结果为()。
设函数fun的定义形式为:voldfun(charch,floatx){……}则以下对函数fun的调用语句中,正确的是()。
下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其他依此类推。请填空。Fun(intx,intb[]){intk=0,r;do{r=x%2
以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。structnode{intinfo;【】link;};
随机试题
某护士在给HBeAg阳性的慢性肝炎患者采血时,不慎刺破左手拇指,此时急需采取的重要措施是
静脉补钾的浓度一般不超过
关于国际法院,依《国际法院规约》,下列哪一选项是正确的?()
承兑是指汇票付款人承诺对远期汇票承担到期付款责任的行为。我国票据法规定,自收到提示承兑汇票之日起(),付款人必须作出承兑。
由动态三要素组成的会计等式是()。
2009年4月1日,王某与丁某签订了房屋买卖合同,双方约定:王某将一栋房屋出售给丁某,房价120万元。丁某支付房屋价款后,王某于2009年4月10日向丁某交付了房屋,但双方没有办理产权转移登记。丁某接收房屋作了装修,于2009年4月20日将该房屋
数学学习中形成的认真审题的态度及方法会影响化学、物理等的学习审题态度及审题方法,这种学习迁移叫()。
微格教学的课堂教学实践一般为()
(1)指令的控制方式有几种?优缺点各是什么?(2)如何评价流水线的性能?(3)一台非流水线机器执行指令时共分五步,所需时间分别为40ns、40ns、50ns、40ns和40ns。若采用流水线工作方式,并且由于锁存器而附加了20ns的延迟,那么该流水线
InputBox函数的返回值类型是
最新回复
(
0
)