求一个3×3的整型矩阵对角线元素之和(用c语言)

如题所述

c语言求一个3×3的整型矩阵对角线元素之和步骤如下:

1、打开Dev-c++软件,点击“新建源代码”。

2、具体程序如下:

#include <stdio.h>

int main()

{

int a[3][5]={{1,2,3},{4,5,6},{7,8,9}};

int i,j,sum,m=0,sum1=0,sum2=0;

printf("array a:\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

printf("%4d",a[i][j]);

m=m+1;

}

if(m%3==0)

printf("\n");

}

sum1=a[0][0]+a[1][1]+a[2][2];

sum2=a[0][2]+a[1][1]+a[2][0];

sum=sum1+sum2;

printf("对角线元素之和为%d",sum);

return 0;

3、此次我们的程序最终目的是求出3x3的整型矩阵对角线元素之和,所以我们首先要向计算机输入我们3x3矩阵中的所有元素。

4、其次,我们要对输入的矩阵的元素进行放置于相应的位置,以便于我们之后的计算其对角元素之和。

5、再次,我们需要向计算机指出要计算机计算出哪些元素之和和需要计算元素的具体位置在哪儿。

6、这里需要说明一下,我们需要定义三个累积和sum1,sum2,sum来进行计算后的结果的暂时存储。

7、其中:if(m%3==0)表示要求最后输出的结果呈输出3个数之后进行换行。

8、当我们的程序写完之后,点击运行即可求出我们所要求出的结果了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-25
#include <stdio.h>

main()
{
int a[3][3], n, i, j, sum1, sum2;
sum1=sum2=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
if(i==j)
sum1+=a[i][j];
if(i+j==2)
sum2+=a[i][j];
}
printf("右下对角线元素和是%d\n",sum1);
printf("左下对角线元素和是%d\n",sum2);
printf("对角线元素总和是%d\n",sum1+sum2);
}本回答被提问者采纳
第2个回答  2014-05-13
#include<stdio.h>
main()
{
int a[3][3],i,j,sum=0;
printf("请输入数组元素:(3*3)\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("\n");
printf("数组为:\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%4d",a[i][j]);
               printf("\n");
}
printf("\n");
printf("对角线的和:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j||2-i==j)
sum+=a[i][j];

printf("%d\n",sum);

}

本回答被网友采纳
相似回答