编写程序,通过调用随机函数给5*6的二维数组元素赋10-40之间的整数,求出二维数组每行元素的平均值。
源程序:
#include <stdio.h>
#include <stdlib.h>
#define M 6
#define N 5
void getdata(int(*)[M]);
void lineave(int[][M],float *);
void outdata(int [N][M],float *);;
void main()
{
int r[N][M];
float ave[N];
getdata(r);
lineave(r,ave);
outdata(r,ave);
}
void getdata(int(*sp)[M])
{
int i,j,x;
for(i=0;i<N;i++)
{
j=0;
while(j<M)
{
x=rand()%41;
if(x>=10)
{
sp[i][j]=x;
j++;
}
}
}
}
void lineave(int s[][M],float *a)
{
int i,j;
float ave;
for(i=0;i<N;i++)
{
ave=0.0;
for(j=0;j<M;j++)
ave=ave+s[i][j];
a[i]=ave/M;
}
}
void outdata(int sp[N][M],float a[])
{
int i,j;
printf("output the result:\n");
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
printf("%4d",sp[i][j]);
}
printf(": %6.2f\n",a[i]);
}
putchar('\n');
}
运行结果: