首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的
admin
2018-08-11
41
问题
使用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全国计算机二级
相关试题推荐
函数viodfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。 s=1-1/3+1/5-1/7+…1/(2n+1) voidfun(float*s
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p
设有说明int(*ptr)[M];其中的标识符ptr是______。
设有定义:inta=2,b=3,c=4;则以下选项中值为0的表达式是______。
以下程序运行后的输出结果是()。fun(intA){intb=0;staticintc=3;b++;c++;return(a+b+C);}main(){inti,a=5;
下列程序的输出结果是()。#include<stdio.h>voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}main(){inta=1,b=2,*x=&a,*y=
若有语句scanf("%d%c%f",&a,&b,&c),假设输入序列为2223a123o.12,则a.b.c的值为______。
若调用一个函数,且此函数中没有return语句,则以下正确的说法是______。
语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【】。
随机试题
下列哪项说法是不正确的?
在脑复苏中,下列哪项措施是不正确的?
A.大秦艽汤B.大定风珠C.镇肝熄风汤D.天麻钩藤饮E.羚角钩藤汤患者患温病热邪久盛不去,重伤津液,症见神倦瘛疭,舌绛少苔,脉气虚弱,治疗应选用
A.抑制肾小球滤过B.直接抑制肾小管H+一Na+交换C.直接抑制肾小管K’+一Na+交换D.抑制碳酸酐酶活性E.拮抗醛固酮的作用氨苯蝶啶的利尿作用机制是
领导者怎样合理授权?请结合实际谈一谈。
一、注意事项1.申论考试是对考生阅读理解能力、综合分析能力、提出和解决问题能力、文字表达能力的综合测试。2.仔细阅读所给材料,按照后面提出的“申论要求”依次作答。二、给定资料1.日前,云南省政府举行的2009年食品安全工作情况通
启发式教学
∫0+∞xe-xdx=_________.
在软件开发中,需求分析阶段产生的主要文档是()。
Thefrontofficeistrulythenervecenterofahotel.Membersofthefront-officestaffwelcometheguests,carrytheirluggage
最新回复
(
0
)