求一个3*3矩阵对角线元素之和!

用C语言编写!最好是用C++!怎么写!谢谢!~通过双重for循环控制输入二维
数组a,再将a[i][i]累加后输出!

#include <stdio.h>
#include <string>
void main()
{
int a[3][3];
int i,j;//i为行j为列
int sum=0;
int sum1=0;

//输入
for( i=0; i<=2; i++)
{
for( j=0; j<=2; j++)
{
printf (" 请输入第%d行第%d列的数:", i+1, j+1);
scanf ("%d",&a[i][j]);
}
printf("\n");
}
//求和
for( i=0; i<=2; i++)
{
for( j=0; j<=2; j++)
{
if(i==j)
sum = sum+a[i][j];
if(i+j==2)
sum1= sum1+a[i][j];
}
}

//输出和
printf ("对角线之和%d\n",sum);

printf("对角线之和%d\n",sum1);//对角线之和;

//输出矩阵
printf("\n");
printf("矩形如下:\n");
for( i=0; i<=2; i++)
{
for( j=0; j<=2; j++)
{
printf("%d ",a[i][j]);
}

printf("\n");
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-31
#include
<stdio.h>
#include
<string>
void
main()
{
int
a[3][3];
int
i,j;//i为行j为列
int
sum=0;
int
sum1=0;
//输入
for(
i=0;
i<=2;
i++)
{
for(
j=0;
j<=2;
j++)
{
printf
("
请输入第%d行第%d列的数:",
i+1,
j+1);
scanf
("%d",&a[i][j]);
}
printf("
");
}
//求和
for(
i=0;
i<=2;
i++)
{
for(
j=0;
j<=2;
j++)
{
if(i==j)
sum
=
sum+a[i][j];
if(i+j==2)
sum1=
sum1+a[i][j];
}
}
//输出和
printf
("对角线之和%d
",sum);
printf("对角线之和%d
",sum1);//对角线之和;
//输出矩阵
printf("
");
printf("矩形如下:
");
for(
i=0;
i<=2;
i++)
{
for(
j=0;
j<=2;
j++)
{
printf("%d
",a[i][j]);
}
printf("
");
}
}
第2个回答  2019-04-12
#include
<stdio.h>
#include
<string>
void
main()
{
int
a[3][3];
int
i,j;//i为行j为列
int
sum=0;
int
sum1=0;
//输入
for(
i=0;
i<=2;
i++)
{
for(
j=0;
j<=2;
j++)
{
printf
("
请输入第%d行第%d列的数:",
i+1,
j+1);
scanf
("%d",&a[i][j]);
}
printf("
");
}
//求和
for(
i=0;
i<=2;
i++)
{
for(
j=0;
j<=2;
j++)
{
if(i==j)
sum
=
sum+a[i][j];
if(i+j==2)
sum1=
sum1+a[i][j];
}
}
//输出和
printf
("对角线之和%d
",sum);
printf("对角线之和%d
",sum1);//对角线之和;
//输出矩阵
printf("
");
printf("矩形如下:
");
for(
i=0;
i<=2;
i++)
{
for(
j=0;
j<=2;
j++)
{
printf("%d
",a[i][j]);
}
printf("
");
}
}
第3个回答  2020-06-24
#include
"stdio.h"
int
main()
{
int
a[3][3],sum=0;
int
i,j;
printf("请输入三维数组:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("对角线的和是:
%d",sum);
return
0;
}
相似回答