给二维数组赋值 打印出来
因为这个题是用来锻炼对数组的应用 所以不要用scanf和直接赋值的方法来做
这个题不是很难 大家踊跃答题啊
42 21 22 23 24 25 26
41 20 7 8 9 10 27
40 19 6 1 2 11 28
39 18 5 4 3 12 29
38 17 16 15 14 13 30
37 36 35 34 33 32 31
[此贴子已经被作者于2007-5-26 14:59:47编辑过]
这个是我写的
主要思想就是叫数组来进行 向下 向右 向上 向左 的 移动
#include<stdio.h>
main()
{
int x=0,y=0,i=42,c,b;
int a[6][7]={0};
a[x][y]=i;
while((i--)>1)
{
if(a[x+1][y]==0&&(x+1)<6)
a[++x][y]=i;
else if(a[x][y+1]==0&&(y+1)<7)
a[x][++y]=i;
else if(a[x-1][y]==0&&(x-1)!=-1)
a[--x][y]=i;
else if(a[x][y-1]==0&&(y-1)!=-1)
{
while(a[x][y-1]==0)
a[x][--y]=i--;
i++;
}
}
for(c=0;c<6;c++){
for(b=0;b<7;b++)
printf("%3d",a[c][b]);
printf("\n");
}
}
[此贴子已经被作者于2007-5-27 3:07:30编辑过]