早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

下列程序的功能是:将一正整数序列{K1,K2,…,K91重新排成一个新的序列。新序列中,比K1小的数都在K1

题目

下列程序的功能是:将一正整数序列{K1,K2,…,K91重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比KI大的数都在K1的右面(后续的再向右存放),从K1向右扫描。要求编写函数JsValue()实现此功能,最后调用函数writeDat()把新序列输出到文件out90.dat中。

说明:在程序中已给出了.10个序列,每个序列中有9个正整数,并存入数组a[10][9]中,分别求出这 10个新序列。

例如:

序列排序前 {6,8,9,1,2,5,4,7,3}

序列排序后 {3,4,5,2,1,6,8,9,7}

注意:部分源程序已给出。

请勿改动主函数main()和写函数writeDat()的内容。

试题程序:

include

jsValue(int a[lO] [9])

{

}

main()

{

int a[10] [9]={{6,8,9,1,2,5,4,7,3},

{3,5,8,9,1,2,6,4,7},

{8,2,1,9,3,5,4,6,7},

{3,5,1,2,9,8,6,7,4},

{4,7,8,9,1,2,5,3,6},

{4,7,3,5,1,2,6,8,9},

{9,1,3,5,8,62,4,7}

{2,6,1,9,8,35,7,4}

{5,3,7,9,1,82,6,4}

{7,1,3,2,5,89,4,6}

};

int i,j;

jsValue(a);

for(i=0;i<10;i++)

{

for(j=0;j<9;j++)

{

printf("%d",a[i] [j]);

if(j<=7) printf(",");

}

printf("\n");

}

writeDat(a);

}

writeDat(int ail0] [9])

{

FILE *fp;

int i,j;

fp=fopen("outg0.dat","w");

for(i=0;i<10;i++)

{

for(j=0;j<9;j++)

{

fprintf(fp,"%d",a[i] [j]);

if(j<=7) fprintf(fp,",");

}

fprintf(fp,"\n");

}

fclose(fp);

}

参考答案
正确答案:void jsValue(int a[10][9]) { int valueijkhum; for(i=0;i10;i++) { value=a[i][0]); /*将一行的第一个元素赋给value*/ for{j=0;j9;j++) if(a[i][j]value) /*若后面的数中有比第土个数据小的数*/ { num=a[i] [j]; /*则把这个数取出赋给num*/ for (k=j;k>0;k--) /*将这个数据左侧的数依次向右移动*/ { a[i][k]=a[i][k-1]; } a[i][0]=num; /*再将这个数放在最左侧*/ } } }
void jsValue(int a[10][9]) { int value,i,j,k,hum; for(i=0;i10;i++) { value=a[i][0]); /*将一行的第一个元素赋给value*/ for{j=0;j9;j++) if(a[i][j]value) /*若后面的数中有比第土个数据小的数*/ { num=a[i] [j]; /*则把这个数取出,赋给num*/ for (k=j;k>0;k--) /*将这个数据左侧的数依次向右移动*/ { a[i][k]=a[i][k-1]; } a[i][0]=num; /*再将这个数放在最左侧*/ } } } 解析:本题考查的知识点如下:
(1)二维数组的访问和数组元素的移动。
(2)循环结构和判断结构的嵌套使用。
数据存放在一个二维数组中,每一行数为数据处理的基本单位。将第1个数取出依次和后面的数比较,若后面的数中有比第1个数据小的数,则将这个数取出。将这个数据左侧的数依次向右移动(包括第1个数),
然后将这个数放在最左侧。扫描完一行后,比第1个数小的数就都在第1个数的左侧,而比它大的就在它的右侧。对数的扫描和移动均可以使用循环实现。再使用循环实现对每一行数据的访问。
看了下列程序的功能是:将一正整数序...的网友还看了以下:

如图,有一列正整数,任何三个相连的数字之和都是12.(1)请你把这列数中的空格填写完整.(2)请你 数学 2020-05-13 …

请问一道数学题,如图,有一列正整数,任何三个相连的数字之和都是12.(1)请你把这列数中的空格填写 数学 2020-05-14 …

如图,有一列正整数,任何三个相连的数字之和都是12 (1)请你把这列数中的空格填写完整(2)请你指 数学 2020-05-17 …

对明文字母重新排列,并不隐藏它们的加密方法属于()。A.置换密码B.分组密码C.易位密码D.序列密码 计算机类考试 2020-05-24 …

对明文字母重新排列,并不隐藏他们的加密方法属于()。A.置换密码B.分组密码C.易位密码D.序列密码 计算机类考试 2020-05-24 …

解释下列词语的意思,排列整齐的写下来,为非作歹妄自菲薄兵贵神速另请高解释下列词语的意思,排列整齐的 语文 2020-06-23 …

下列加粗字解释有误的一项是[]A.确凿(确实)菜畦(有土埂围着的一块块排列整齐的田地)B.轻捷(快 语文 2020-07-06 …

一列整数,出现单单双单双单单,或者双双单双单双双这种形态的概率是多少?一列整数,单双概率相同(各50 语文 2020-11-08 …

新中国诞辰60周年庆典上,五彩缤纷而又寓意深远的彩车特别引人注目。新疆彩车的一大亮点是所有图案全部为 政治 2020-12-01 …

我想列出EXCEL中某列A中某部分(连续的几项,但其中有重复的!)到另一列,但要求在这新列中没有有重 其他 2021-01-01 …