首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正
admin
2020-10-26
42
问题
给定程序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 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,2 3,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)rettim 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/DR3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若要求从键盘读入含有空格字符的字符串,应使用函数
设有定义:chars[81];inti=0;以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是
下列叙述中正确的是
若有定义语句:intyear=2009,*p=&year;以下各项中不能使变量year中的值增至2010的语句是()。
若有以下程序段:doublex=5.16894:printf("%f\n",(int)(x*1000+0.5)/(double)1000);则程序段的输出结果是()。
以下函数按每行8个输出数组中的数据:voidfun(int*wintn){inti;for(i=0;i<n;i++){___________printf("%d",
软件测试的目的是()。【10年9月】
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是()。
设有定义:chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。
若有定义:typedefint*T[10];Ta;则以下选项与上述定义中a的类型完全相同的是()。
随机试题
我国古代政治家诸葛亮所说的“赏不逾时”对应于现代公务员奖励中的()
社会阶级关系发生新的变动,除了原有的地主阶级和农民阶级外,出现了________和________两个新兴阶级。
21岁的王某唆使7岁的邻居小孩砸碎了李某家的窗玻璃。依据《侵权责任法》的规定,应当对李某承担赔偿责任的是()
当电网接有较多高压电动机或者较多的电缆线路时,由于它们的绝缘水平较低,瞬间性的接地故障相对较少,为了保证绝缘不受损坏,为减少单相接地发展成为多重接地故障,宜采用()系统。
某工程合同总额为240万元,工程预付款为24万元,主要材料、构件所占比重为60%,起扣点为()万元。
关于动员预付款的扣还,下列说法错误的是( )。
如果天气晴朗,小刘就去郊游;如果老婆不与他同去,小刘就不去郊游;如果单位有急事,小刘就不去郊游;如果今天不是星期六,小刘就不去郊游。假设以上说法正确,那么,如果小刘去郊游,则不能断定下述哪项正确?
普莱德清洗
把数据同时存放在两个或者多个硬盘驱动器上,每个驱动器存放一份拷贝的技术称为【 】。
Whenwestereotypepeople,weusealessmatureformofthinking(notunliketheimmaturethinkingofaveryyoungchild)thatmak
最新回复
(
0
)