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();
}
答
不会