题目要求:任意输入一个3*3的矩阵,输出对角线的数的和。
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,a[3][3],sum=0;
printf("\n Please input nine num:\n\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf(" a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
printf("\n----->The Matrix is:\n\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf(" %4d",a[i][j]);
if((j==2)&&(i!=2))printf("\n\n\n");
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i==j||(i+j)==2)
sum+=a[i][j];
}
printf("\n\n----->The sum is %3d.",sum);
getch();
}
正常输入时界面如下:
图2
为什么会出现这种情况?如果我要求只能如"图1"规范地输入,怎样修改代码?