c++程序设计 求一个3*3的整形二维数组对角线元素之和

如题所述

对角线元素的话应该有两条对角线即左上到右下。左下到右上。
#include<iostream.h>
void main()
{
int a[3][3],i,j,sum=0;
cout<<"请输入一个3*3的整形二维数组值:";
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i==j)
{
sum+=a[i][j]; //从左上到右下
}
if((i+j)==2)
{
sum+=a[i][j]; //从左下到右上
}
}
sum=sum-a[1][1]; //两条线有交点,改点多算一次;
cout<<"数组对角线元素之和sum="<<sum<<endl;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-19
#include<iostream.h>
void main()
{
int a[3][3],i,j,sum=0;
cout<<"请输入一个3*3的整形二维数组值:";
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i=j)
sum+=a[i][j];
cout<<"数组对角线元素之和sum="<<sum<<endl;
}本回答被网友采纳
第2个回答  2018-12-17
对角线元素的话应该有两条对角线即左上到右下。左下到右上。
第3个回答  2010-11-28
#include <stdio.h>
void main()
{
int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<10;i++)
for(j=1;j<i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
第4个回答  2010-11-19
#include <iostream>
using namespace std;

int main()
{
int array[3][3] ;
cout<<