程序题 下列程序定义了N*N的二维数组,并在主函数中自动赋值.请编写函数fun(int a[][N],
int n), 该函数的功能是:使数组右上半三角元素中的值乘以m.
例如:若m的值为2,a数组中的值为
则返回主程序后a数组中的值为
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句. #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define N 5
void fun ( int a[][N], int m )
{int i,j;
for(j=0;j<N;j++)
for(i=0;i<=j;i++)
a[i][j]=a[i][j]*m;
}
main ( )
{
int a[N][N], m, i, j;
FILE *out;
printf("**** The array *****\n");
for ( i=0; i<N; i++ )
{
for( j=0; j<N; j++ )
{
a[i][j] = rand()%20;
printf("%4d", a[i][j] );
}
printf("\n");
}
m = rand()%4 ;
printf("m=%4d\n", m);
fun ( a ,m );
printf (" THE RESULT\n");
for ( i=0; i<N; i++ )
{
for ( j=0; j<N; j++ )
printf( "%4d", a[i][j] );
printf("\n");
}
out=fopen ("out.dat", "w");
for ( i=0; i<N; i++ )
for( j=0; j<N; j++ )
a[i][j] = i*j;
fun ( a ,8);
for ( i=0; i<N; i++ )
{
for ( j=0; j<N; j++ )
fprintf(out, "%4d", a[i][j] );
fprintf(out, "\n");
}
fclose (out );
}