C语言 用函数Add()函数求一个4*4二维数组的主副对角元素之和,函数fun()求该二维数组的转置

C语言 用函数Add()函数求一个4*4二维数组的主副对角元素之和,函数fun()求该二维数组的转置

问题描述:

C语言 用函数Add()函数求一个4*4二维数组的主副对角元素之和,函数fun()求该二维数组的转置--二维数组

代码如下:

#include <stdio.h>

int add(int **p,int n)
{
	int sum = 0;
	for(int i = 0; i < n; i++)
	{
		sum += p[i][i];
		sum += p[i][n-1-i];
	}
	
	return sum;
	
}

void fun(int **p,int n)
{
	int k;
	for(int i=0;i<n;i++)
		for(int j=i+1;j<n;j++)
		{
			k = p[i][j];
			p[i][j] = p[j][i];
			p[j][i] = k;
		}
}
void main()
{
	int n = 4;
	int **p = new int*[n];
	for(int i=0;i<n;i++)
	{
		p[i] = new int[n];
		for(int j=0;j<n;j++)
			scanf("%d",&p[i][j]);
	}


	int sum = add(p,n);
	printf("主副对角线之和=%d\n",sum);

	fun(p,n);
	for (int i = 0; i < n; i++)
	{
		for (int j = 0;j < n;j++)
		{
			printf("%d ",p[i][j]);
		}
		printf("\n");
	}
	getchar();
	getchar();
}

不会