c++编程 编写一个程序输入一个n*n的矩阵,求出两条对角线元素值之和

如题所述

#include <stdio.h>
#include <malloc.h>
int main( void)
{
int n = 0;
int i = 0;
int j = 0;
int **a;
int sum = 0;
printf("请输入矩阵的维数:\n");
scanf("%d",&n);

a = (int**)malloc(n*sizeof(int*));
for (int i = 0; i < n; ++i)
{
*(a+i) = (int *)malloc(sizeof(int)*n);
}
printf("请依次输入矩阵中的数值:\n");
for ( i = 0; i < n; i ++)
{
for ( j = 0; j < n; j++)
{
scanf("%d",&a[i][j]);
}
}
for ( i = 0; i < n; i++)
{
for ( j = 0; j < n; j++)
{
if ( (i == j) || ((i+j == n-1) && (i != j)))
{
sum += a[i][j];
}
}
}
printf("矩阵两个对角线元素的和为:%d\n",sum);
}

程序如下,假如n确定的话可以定义一个二维数组a,就简单多了
温馨提示:答案为网友推荐,仅供参考
相似回答