您的位置:程序门 -> c/c++ ->



求救  求一个3*3矩阵对角线之和。在线等,得出答案马上结帖


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


求救 求一个3*3矩阵对角线之和。在线等,得出答案马上结帖[已结贴,结贴人:jjuu123]
发表于:2007-08-22 19:18:10 楼主
利用for循环控制输入二维数组a,再将a[i][i]累加后输入。
发表于:2007-08-22 19:22:451楼 得分:0
lz什么意思
发表于:2007-08-22 19:22:492楼 得分:20
#include   <stdio.h>

int   main()
{
int   a[3][3];
int   i,   j;
int   sum   =   0;

for   (i=0;   i <3;   i++)
for   (j=0;   j <3;   j++)
scanf( "%d ",   &a[i][j]);

for   (i=0;   i <3;   i++)
sum   +=   a[i][i]

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

return   0;
}
发表于:2007-08-22 19:31:473楼 得分:0
回复的还真快     还刚写完就已经好几个人回复了
发表于:2007-08-22 19:34:104楼 得分:0
inr   returnval=0;
int   a[3][3]={0};
for(int   i=0;i <3;i++)
{
        for(int   j=0;j <3;j++)
        {
                scanf( "%d ",a[i][j]);
                fflush();
                if(i==j)
                        returnval=returnval+a[i][j];
                if(i+j==3)//   当是n阶矩阵的时候   -〉i+j==n
                        returnval=returnval+a[i][j];
        }
}
return   returnval;
发表于:2007-08-22 19:35:385楼 得分:0
你是青鸟的吧。。。lz是一个贬抑词
发表于:2007-08-22 19:37:206楼 得分:0
哦,更正一下

3x3的话   应该是     if(i+j==2)  
n阶的话,应该是if(i+j==n-1)

inr   returnval=0;
int   a[3][3]={0};
for(int   i=0;i <3;i++)
{
        for(int   j=0;j <3;j++)
        {
                scanf( "%d ",a[i][j]);
                fflush();
                if(i==j)
                        returnval=returnval+a[i][j];
                if(i+j==2)//   当是n阶矩阵的时候   -〉i+j==n-1
                        returnval=returnval+a[i][j];
        }
}
return   returnval;
发表于:2007-08-22 19:39:117楼 得分:0
你们的程序怎么运行都有错误啊
发表于:2007-08-22 19:41:418楼 得分:0
你的什么编译器啊     ?
发表于:2007-08-22 19:45:409楼 得分:0
c-free3.5
发表于:2007-08-22 21:23:3610楼 得分:0
scanf( "%d ",a[i][j]);//少地址符
&a[i][j]
发表于:2007-08-22 22:10:2911楼 得分:0
a     dui       随手写的,忘记了应该是&a[i][j]
发表于:2007-08-22 23:22:4212楼 得分:0
我不帮你更正下
softwarewander(激情燃烧的岁月……)   (   )   信誉:100  
3x3的话   应该是     if(i+j==2)  
n阶的话,应该是if(i+j==n-1)
    //加主体呀,不加主体人家怎么用
void   mai()
{

int   returnval=0;//inr类型我是没见过
int   a[3][3]={0};
for(int   i=0;i <3;i++)
{
        for(int   j=0;j <3;j++)
        {
                scanf( "%d ",&a[i][j]);//你都知道了还不改!
                fflush();
                if(i==j)
                        returnval=returnval+a[i][j];
                if(i+j==2)//   当是n阶矩阵的时候   -〉i+j==n-1
                        returnval=returnval+a[i][j];
        }
}
return   returnval;

}
发表于:2007-08-22 23:33:0913楼 得分:0
if(i==j)
                        returnval=returnval+a[i][j];
                if(i+j==2)//   当是n阶矩阵的时候   -〉i+j==n-1
                        returnval=returnval+a[i][j];
        }
看了一会,觉得这里多加了a[1][1]也就是i=j   and   i+j=2   时多加一次
   
我想返回时这样

  return     returnval-a[n/2][n/2];//本题n=3
发表于:2007-08-23 08:35:5014楼 得分:0
晕了,   难道必须得要给能够立马运行的吗?

我觉得只要给最主体的思路就可以了吧。。。。。。。。


快速检索

最新资讯
热门点击