首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的
给定程序MODll.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的
admin
2013-04-02
111
问题
给定程序MODll.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#define N 20
int fun (int * a, int n)
{int i, m, t, k ;
for(i=0;i<2;i++) {
/**********found**********/
m=0;
for(k=i+1;k
/**********found**********/
if(a[k]>a[m])
t=a
;a
=a[m];a[m]=t;
}
}
main()
{int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i;
for (i=0; i
);
printf("\n");
fun (b, n);
for (i=0; i
);
printf("\n");
}
选项
答案
m=i; if(a[k]>a[m]) m=k;
解析
(1)第二个标识符下for循环逐个对m个数据进行选择判断,原题中“m=0;”语句将m值设置为0,在循环中m值始终是0,不会改变,根据“for(i=0;i<2;i++)”语句中的循环条件,“m=0;”改为“m=i;”。
(2)如果“if(a[k]>a[m])”,a[k]比a[m]大,m记录下下标值k,内层循环结束的时候a[m]值就是本次循环找到的最大值(如果m=0,a[m]是数组中的最大值;如果m=1,a[m]数组中的次最大值),即m记录最大值的下标值,因此第二标识下应该是“if(a[k]>a[m]) m=k;”。
转载请注明原文地址:https://www.kaotiyun.com/show/dDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。
若变量x、y己正确定义并赋值,以下符合C语言语法的表达式是______。
下列定义变量的语句中错误的是______。
有以下程序 #include<string.h> void f(char p[][10],int n)/*字符串从小到大排序*/ { char t[10];int i,j; for(i=0;i<n-1;i++) f
在E-R图中,用来表示实体之间联系的图形是
当执行下面两个语句后,输出的结果为() charcl=97,c2=98; printf("%d%c",c1,c2);
若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是() inta[]={1,2,3,4,5,6,7,8,9,0}; int*p,I p=a;
下面各语句行中,能正确进行赋值字符串操作的语句是()
按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和【】。
检查软件产品是否符合需求定义的过程称为______。
随机试题
下列说法或做法中不符合现行《中小学教师职业道德规范》中的“关爱学生”规定和要求的是()。
资本总公式的矛盾是()
女性,18岁,心慌、多汗、多食、消瘦4月余。体检:甲状腺Ⅱ度肿大,右上极可闻及血管杂音。为明确诊断,可行下列哪项检查
X线摄影条件选择的基本因素的叙述,错误的是
下列哪项不能引起阻塞性黄疸
十二指肠溃疡的好发部位是
Theideathatpeoplemightbechosenorrejectedforjobsonthebasisoftheirgenesdisturbsmany.Such【1】may,however,beastep
婴儿有选择性的社会性微笑出现的时间是
“智者派”
下列不属于计算机特点的是
最新回复
(
0
)