首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的
给定程序MODll.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的
admin
2013-04-02
123
问题
给定程序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://kaotiyun.com/show/dDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序 void change(int k[]){k[0]=k[5];} main() { int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(
设有如下三个关系表下列操作中正确的是______。
以下叙述中错误的是
在E-R图中,用来表示实体之间联系的图形是
在结构化程序设计中,模块划分的原则是
有以下程序#include<stdio.h>main(){charch1,ch2;intn1,n2;ch1=getchar();ch2=getchar();n1=ch1-’()’;n2=n1*10+(c
以下选项中,不能正确赋值的是()
以下所列的各函数原型中,正确的是()
有以下定义:inta[4][3]={1,2,3,4,5,6,7,8,9.10,11,12};int(*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是()。
下列工具中属于需求分析常用工具的是______。
随机试题
长腿石膏管型可用于下列哪种骨折的治疗
手工冲洗显影温度范围是
患者,男,58岁。突然昏仆,不省人事,口吐涎沫,喉中痰鸣,面色晦暗,苔白腻、脉滑。其辨证为
对于过小牙在做全冠修复时,牙体预备多采用90。肩台预备。()
下列关于托管人所托管合格投资者发生证券卖空时的说法,不正确的有()。
OCP运输条款是()。
教育目的与培养目标之间的关系是__________与__________的关系。
Accordingtothefirstthreeparagraphs,thenewsmediadowellin______Thephrase"Hardnews"(Line3,Paragraph3)canbepa
下列不属于无限局域网技术协议的是( )。
数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中【10】协议可以完全保证并发事务数据的一致性。
最新回复
(
0
)