老师那天让我练练手,举的例子,一堂财务管理课没听就做出来了
就是输出这样的一串数字,说白一点儿就是从1开始转圈向外出数字:
42 21 22 23 24 25 26
41 20 7 8 9 10 11
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
解决代码如下:
main()
{
int x,y;
int num=1;
int n;
int l=1;
int time=2;
int t;
int a[6][7];
x=3;
y=2;
a[x][y]=num++;
for(t=0;t<=time;t++)
{
for(n=1;n<=l;n++)
{
a[x+n][y]=num;
num++;
}
x=x+l;
for(n=1;n<=l;n++)
{
a[x][y+n]=num;
num++;
}
y=y+l;
l++;
for(n=1;n<=l;n++)
{
a[x-n][y]=num;
num++;
}
x=x-l;;
for(n=1;n<=l;n++)
{
if(y<0)
break;
a[x][y-n]=num;
num++;
}
y=y-l;
l++;
}
for(y=0;y<=5;y++)
{
for(x=0;x<=6;x++)
{
printf("%5d",a[x][y]);
}
printf("\n");
}
getch();
}