C中二维数组的应用

#include<stdio.h>
#include<conio.h>
void exchange(int a[5][5]); //会调用编写的void exchange()函数
int mn(int a[5][5],int m);
int nm(int b[5][5],int m);
void main()
{
	int a[5][5],m,n,k,tot;
	for(m=0;m<5;m++)
	{
	if(m==0) a[m][0]=1;
	else a[m][0]=m*5;     //对第一列数组赋初值
	}
	
	for(m=0;m<5;m++)
		for(n=1;n<5;n++)
			a[m][n]=a[m][0]*(n+1);

	for(m=0;m<5;m++)
	{    for(n=0,k=0;n<5;k++,n++)
	printf("%4d",a[m][n]);
	   if(k%5==0)
		printf("\n");
	}

	exchange(a);

	printf("\n\n");
	for(m=0;m<5;m++)
	{   
		int t;
		t=mn(a,m);
		printf("第%d行的和是:%d\n",m+1,t);
	}
	printf("\n");
	for(m=0;m<5;m++)
	{   int t;
	    t=nm(a,m);
		printf("第%d列的和是:%d\n",m+1,t);
	}
	getchar();

}

void exchange(int a[5][5])
{   int k,m,n;
    for(m=0;m<5;m++)
		for(n=0;n<5;n++)
	{
    k=a[m][n];
	a[m][n]=a[n][m];
	a[n][m]=k;
	}
}
int mn(int a[5][5],int m)
{   int n,t=0;
    for(n=0;n<5;n++)
	t=t+a[m][n];
	return(t);
}

int nm(int b[5][5],int m)
{   int n,t=0;
    for(n=0;n<5;n++)
		t=t+b[n][m];
	return(t);
}

运行结果:

猜你喜欢

转载自blog.csdn.net/qq_18671205/article/details/89280400