问题 填空题

请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N 20
void fun( 【1】 )

int i j;
int t;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if( 【2】 )
b[i]=a[i][j];
for(i=0;i<n;i++)

for(j=0;i<n;j++)
if( 【3】 )

t=b[i];
b[i]=b[j];
b[j]=t;


main()

int a[N][N];
int b[N];
int n;
int i,j;
clrscr();
printf("*****Input the dimension of array N*****\n");
scanf("%d",&n);
printf("*****The array *****\n");
for(i=0;i<n;i++)

for(j=0;i<n;j++)

a[i][j]=rand()%20;
while(a[i][j]==0)
a[i][j]=rand()%30;
printf("%4d",a[i][j]);

printf("\n\n");

for(i=0;i<n;i++)
b[i]=0;
fun(a,b,n);
printf("***** THE RESULT *****\n");
for(i=0;i<n;i++)
printf("%d",b[i]);

答案

参考答案:[A] int a[][N],int b[],int n [B] b[i]<a[i][j] [C] b[i]<b[j]

解析: 填空1:根据主函数main()调用函数fun()的格式,可以知道函数fun()有3个参数,第一个参数是N×N整型二维数组,第二个参数是整型—维数组,第三个参数是整型变量。填空2:数组元素b[i]保存第i行的最大值,通过循环将第i行的各元素与b[i]进行比较,如果大于b[i],则将这个数赋给b[i].填空3:通过for循环嵌套,将数组b中的数按从小到大的顺序排列,依次将各元素与所有元素进行比较,如果有一个元素比当前元素大,就借助第三个变量交换这两个元素,最终使第一个元素保存数组中最小的数,最后一个元素保存数组中最大的数。

单项选择题
单项选择题 B1型题