下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(im a[][N],im m),该函数的功能是使数组右上半三角元素中的值乘以m。 例如,若m的值为2,a数组中的值为: 则返回主程序后a数组中的值应为: 注意:部分

admin2021-07-09  28

问题 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(im a[][N],im m),该函数的功能是使数组右上半三角元素中的值乘以m。
    例如,若m的值为2,a数组中的值为:

则返回主程序后a数组中的值应为:

    注意:部分源程序在文件PROG1.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
    试题程序:
1    #include  <conio.h>
2    #include<stdio.h>
3   #include<stdlib.h>
4  #include<string.h>
5  #define N 5
6  void fun(int a[][N],int m)
7      {
8
9    }
10  main()
11  {
12  int a[N][N],m,i,j;
13    FILE *out;
14  printf(’’***The array***\n");
15  for(i=0;i<N;i++)
16    {for(j-0 ; j<N;j++)
17    {a[j]=rand()%20;
18    printf(’’%4d’’,a[j]);
19     }
20    printf(’’\n’’);
21    }
22   m=rand()%4;
23   printf(’’m=%4 d\n’’,m);
24    fun(a,m);
25   printf(’’THE RESULT\n’’);
26   for(i=0;i<N;i++)
27    {for(j=0 ; j<N ; j++)
28    printf(’’%4 d’’,a[j]);
29   printf(’’\n’’);
30      }
31    /*********found*********/
32  out=fopen(’’out.dat’’,’’w’’);
33  for(i=0;i<N;i++)
34    for(j=0;j<N;j++)
35    a[j]=i*j;
36    fun(a,8);
37  for(i=0;i<N;i++)
38  {for(j=0;j<N;j++)
39    fprintf(out,’’%4d’’,a[j]);
40    fprintf(out,’’\n’’);
41      }
42  fclose(out);
43    /*********found*********/
44    }

选项

答案1 void fun(int a[][N],int m) 2 { 3 int i,j; 4 for(j=0 ; j
解析 本程序实现将矩阵中右上半三角元素中的值乘以m,使用循环语句遍历数组元素,第1个循环用于控制行坐标,第2个循环用于控制列下标。
转载请注明原文地址:https://jikaoti.com/ti/yTd0FFFM
0

随机试题
最新回复(0)