题目内容:
下列程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(inta[][M],int n),该函数的功能是:使数字右上半三角元素中的值乘以m。 例如,若m的值为5,a数组中的值为:
a=1 2
3 4
则返回主程序后a数组的值应为:
5 10
3 20
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
试题程序:
#include<conio.h>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#define M 5
void proc(int a[][M],int m)
{ }
void main()
{
int arr[M][M],m,i,J;
system("CLS");
printf("****The array****\n");
srand((unsigned)time(NULL));
for(i=0;i<M;i++)
//输出一个随机的5*5矩阵
{ for(j=0;j<M;j++)
{arr[i][j]=rand()%20;
printf("%4d",arrEi]Ej]);
}
printf("\n");
}
do
m=rand()%10;
while(m>=3);//产生一个小于3的随机数printf("m=%4d\n",m);
proc(arr,m);
printf("THE RESULT\n");
for(i=0;i<M;i++)
{ for(j=0;j<M;j++)
{
printf("%4d",arrEi]Ej]);
printf("\n");
}
}
参考答案:
答案解析: