首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。 例如,有10个
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。 例如,有10个
admin
2019-04-04
35
问题
给定程序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 2l 45 38
第5组数为:18 5 8中值为:8替换后的数列为:6 6 7 18
18 18 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组数为:2l 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 1 0
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,2 3,18,5,8,21,4 5,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)retum 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/O6Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
执行以下的程序段后,m的值是______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;P=&a[0][0];m=p[4];
下面的程序通过函数average计算数组中各元素的平均值,请填空。floatavetage(int*pa,intn) {inti; floatavg=0.0; for(i=0;i<n;i++); avg
下面程序的功能是两个整数进行交换,请填空。sub(int*x,int*y){【】z=*x;*x=*y;*y=z;return;}main(){intm,n,*t1,*t2;
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn){int*q;intmax,min;max=min=*p;for(q=p;【】
以下程序是求矩阵a、b的和,结果存入矩阵c中,请填空。#includemain(){inta[4][4]={{1,2,6,7),{0,4,2,-8),{1,4,5,2},{2,4,6,8));intb[4]
假设用—个长度为50的数组(数组元素的下标从0至到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶揩针top指向栈顶元素,如果bottomn=49,top=30(数组下标),则栈中具有【】个元素。
变量p为指针变量,若p=&a,下列说法不正确的有______。
下面函数调用语句含有实参的个数为func((exp1,exp2)(exp3,exp4,exp5));
利用fseek函数可实现的操作是()。
在数据管理技术发展的三个阶段中,数据共享最好的是______。
随机试题
从应用性政策研究组织与政府之间的关系来分类,应用性政策研究组织可分为__________、_________、_________、__________、________。
DNA携带生物遗传信息这一事实意味着什么()
女孩,15岁。左小腿近端持续性疼痛3个月,夜间加重。查体左小腿近端局部肿胀、皮温增高。X线片示左胫骨上段日光射线样改变。最可能的诊断是()
交感和副交感神经节前纤维释放的递质交感缩血管纤维末梢释放的递质是
证券公司应当按照证券交易所的规定,在每日收市后向其报告当日客户融资融券交易的有关信息。()
(2013年)某企业2012年有一处地下建筑物,为商业用途房产(房产原值80万元),10月底将其出售。当地政府规定房产税减除比例为30%,商业用途地下建筑房产以原价的70%作为应税房产原值。2012年该企业应缴纳房产税()元。
我国宋代邢窑出产白釉瓷、越窑出产青釉瓷,所以有“南青北白”之称。()
一个已经公认的结论是,北美洲人的祖先来自亚洲。至于亚洲人是如何到达北美洲的呢,科学家们一直假设,亚洲人是跨越在14000年以前还连接着北美洲和亚洲但后来沉入海底的陆地进入北美洲的,在艰难的迁徙途中,他们靠捕猎沿途陆地上的动物为食。最近的新发现导致了一个新的
按照“先进先出”组织数据的数据结构是()。
A、 B、 C、 B本句是询问衬衫多少钱的How疑问句。应该了解Howmuch…是询问价格的表达。
最新回复
(
0
)