首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

help!求3*3整型矩阵对角线元素之和。该怎么解决

2012-05-01 
help!求3*3整型矩阵对角线元素之和。。。下面的代码能编译和连接,但却不能被执行,为什么???#include stdio.h

help!求3*3整型矩阵对角线元素之和。。。
下面的代码能编译和连接,但却不能被执行,为什么???
#include <stdio.h>
void main ()
{
int a,b,c,d,e,f,g,h,i,x,y;
int m[3][3]={{a,b,c},{d,e,f},{g,h,i}};
scanf ("%d,%d,%d,%d,%d,%d,%d,%d,%d",a,b,c,d,e,f,g,h,i);
x=a+e+i;
y=c+e+g;
printf ("x=%d,y=%d\n",x,y);

}

[解决办法]
你那abc是变量。
使用二重循环
for(int i=0;i<3;i++)
for(int j=0;i<3;j++)
scanf ("%d",&m[i][j]);


[解决办法]
scanf ("%d,%d,%d,%d,%d,%d,%d,%d,%d",a,b,c,d,e,f,g,h,i);
这个不对要&a,&b...&i
int m[3][3]={{a,b,c},{d,e,f},{g,h,i}};要放在scanf后边
x=a+e+i;
y=c+e+g;
应该是
x=m[0][0]+m[1][1]+m[2][2];
y=m[2][0]+m[1][1]+m[0][2];


[解决办法]

C/C++ code
#include <stdio.h>void main (){    int i,j,x,y;    int m[3][3];    for(i = 0; i < 3; ++i)    {        for(j = 0; j < 3; ++j)            scanf("%d", &m[i][j]);    }    x=m[0][0]+m[1][1]+m[2][2];    y=m[0][2]+m[1][1]+m[2][0];    printf ("x=%d,y=%d\n",x,y);    }
[解决办法]
“数组初始化”和“数组赋值”不是一回事!
[解决办法]
我5楼的代码,哪里不对,对的啊
探讨
的确不是一回事,现在我就是赋值这块模糊,3楼推荐用2重循环,5楼的代码执行时不对,能给个使用2重循环赋值的例子吗?

引用:

“数组初始化”和“数组赋值”不是一回事!

[解决办法]

[解决办法]
C/C++ code
#include <stdio.h>void main (){    int i,j,x,y;    int m[3][3];    for(i = 0; i < 3; ++i)    {        for(j = 0; j < 3; ++j)            scanf("%d", &m[i][j]);//给数组元素赋值    }    x=m[0][0]+m[1][1]+m[2][2];//x=a+e+i;    y=m[0][2]+m[1][1]+m[2][0];//y=c+e+g;    printf ("x=%d,y=%d\n",x,y);    } 

热点排行