请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,

admin2009-02-15  44

问题 请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
   试题程序:
   #include<stdio.h>
   #include<conio.h>
   #include<stdlib.h>
   #define N 20
   void fun(【  】)
   {
      int i j;
      int t;
      for(i=0;i<n;i++)
         for(j=0;j<n;j++)
            if(【  】)
                 b=a[j];
      for(i=0;i<n;i++)
      {   
         for(j=0;i<n;j++)
           if(【  】)
           {
               t=b
               b=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[j]=rand()%20;
      while(a[j]==0)
          a[j]=rand()%30;
      printf("%4d",a[j]);
   }
   printf(”\n\n”);
}
for(i=0;i<n;i++)
      b=0;
fun(a,b,n);
printf("*****  THE  RESULT  *****\n");
   for(i=0;i<n;i++)
   printf(“%d”,b);
   }

选项

答案int a[][N],int b[],int n b[i]<a[i][j] b[i]<b[j]

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

最新回复(0)