2 qingyangqingyang qingyangqingyang 于 2015.06.10 22:35 提问

3*3整型距阵对角线元素之和,这个程序错哪里呢?

#include
int main ()
{int a[3][3];
int i,j,s=0;
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
if(i==j) printf("%d",a[i][j]);
s=s+a[i][j];}
printf("%d",s);
return 0;
}

4个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.10 22:57

就你的代码,缺大括号

 for(i=0;i<3;i++)
{for(j=0;j<3;j++)
if(i==j) printf("%d",a[i][j]);
s=s+a[i][j];}
改成
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
if(i==j) {printf("%d",a[i][j]);  //if这里需要用大括号包括下面s+a[i][j],不然,if只涵盖pring
s=s+a[i][j];}}
q1324859842
q1324859842   2015.06.10 23:06

danielinbiti 人说的是对的,你缺少了括号,所以计算出来的是错的

Bruce_why
Bruce_why   2015.06.10 22:41

考虑不周,对角线 11 22 33 及 13 31

caozhy
caozhy   Ds   Rxr 2015.06.10 22:43

你不觉得你很呆么
for(i=0;i<3;i++)
s += a[i][i];
不就可以了么?干嘛要两个循环还判断

qingyangqingyang
qingyangqingyang 谢谢你,我是个菜鸟啦
2 年多之前 回复
qingyangqingyang
qingyangqingyang 谢谢你,我是个菜鸟啦
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片