#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;
}
考虑不周,对角线 11 22 33 及 13 31
你不觉得你很呆么
for(i=0;i<3;i++)
s += a[i][i];
不就可以了么?干嘛要两个循环还判断
就你的代码,缺大括号
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];}}
danielinbiti 人说的是对的,你缺少了括号,所以计算出来的是错的