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楼的代码,哪里不对,对的啊
[解决办法]
[解决办法]
- 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); }