编程题汇总答案

试题34.
void fun (int (*s)[10], int *b, int *n,int mm, int nn)
{
int i,j,k=0;
for(j=0;j<nn;j++) /*将二维数组中的数据按列的顺序依次放入一维数组*/ for(i=0;i<mm;i++)
b[k++]=s[i][j]; //k的当前值即为b数组的元素个数
*n=k; /*通过指针返回元素个数*/ }
试题58
void fun(int a[ ][N], int n)
{ int i,j;
for(i=0;i<N;i++) for(j=0;j<=i;j++)
a[i][j]=a[i][j]*n;
} 试题59
void fun (int a[][N])
{ int i,j;
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
a[i][j]=0; /*将数组左下半三角元素中的值全部置成0*/
}
试题78
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; /*右上半三角元素中的值乘以m*/
}
试题80: int fun( int a [M][N]) (*a)[N]
{ int i,j,sum=0;
for(i=0;i<M;i++)
for(j=0;j<N;j++) /*只要下标中有一个为0或M-1或N-1,则它一定是周边元素*/ if(i==0||i==M-1||j==0||j==N-1)
sum=sum+a[i][j]; /*将周边元素相加*/
return sum;
}


