nxn矩阵称为方阵。
现在要你求方阵对角线元素的和。
输入数据块是按行主序列出的方阵元素。
输出完成后,不要再输出回车换行符。
要使用一维数组
输入
1 2 3 4 5 6 7 1 1
结果
sum= 17
nxn矩阵称为方阵。
现在要你求方阵对角线元素的和。
输入数据块是按行主序列出的方阵元素。
输出完成后,不要再输出回车换行符。
要使用一维数组
输入
1 2 3 4 5 6 7 1 1
结果
sum= 17
#include <stdio.h>
#include <cstdlib>
int main()
{
int i,j,sum=0,n,**a; //定义二维指针,用于动态开辟空间
scanf("%d",&n);//输入阶数n
a = (int **) malloc(sizeof(int *) *n);//申请一组一维指针空间。
for(i = 0; i < n; i ++){
a[i] = (int *)malloc(sizeof(int) * n); //对于每个一维指针,申请一行数据的空间。
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);//输入方阵
if(i==j||i+j==n-1){//两条对角线
sum+=a[i][j];
}
}
}
printf("%d",sum);//对角线之和
return 0;
}