#include <stdio.h>
void main()
{int a[3][3],i,j;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=2;i++)
{for(j=0;j<=2;j++)
if((i+j)%2)
printf("%5d",a[i][j]);
printf("\n");
}
}
我是指输出为什么是2468
if((i+j)%2)
不是在i+j是偶数的时候不输出吗??
偶数的时候为0,0不就是假吗??%这个是除余啊??
----------------解决方案--------------------------------------------------------
我认为是输入13579啊
----------------解决方案--------------------------------------------------------
想清楚再问不迟
----------------解决方案--------------------------------------------------------
已经想了2个小时了,不然我也不会发帖问
----------------解决方案--------------------------------------------------------
你直接告诉我下标错了不就可以拉,在初学的时候难免会有一些错误
----------------解决方案--------------------------------------------------------
初学没关系..你按照程序的思路走一遍
拿数来实验下..自然就会明朗的
自己发现问题.自己解决..印象才深刻!
----------------解决方案--------------------------------------------------------
..........我怎么看不明白你的意思。.
----------------解决方案--------------------------------------------------------
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
和你输入有关系,看你输入什么了,你输入1万可能输出1万,你没输入怎么可能输出正确的值,那输出的都是原来内存中的垃圾值
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <conio.h>
int main()
{
int a[3][3], i, j, ival = 1;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
a[i][j] = ival++;
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
if((i + j) % 2 == 0)
{
printf("%5d",a[i][j]);
}
}
}
printf("\n");
getch();
return 0;
}
楼主大哥,我就不相信在你电脑上你的程序结构也是这样的
[此贴子已经被作者于2006-5-2 20:56:22编辑过]
----------------解决方案--------------------------------------------------------
a[0][0]=1,a[0][1]=2,所以输出2!
----------------解决方案--------------------------------------------------------