随手做了道c练手题

作者在 2006-11-27 04:06:00 发布以下内容

老师那天让我练练手,举的例子,一堂财务管理课没听就做出来了

就是输出这样的一串数字,说白一点儿就是从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();
}

 

C语言开拓 | 阅读 900 次
文章评论,共1条
海啸南风(作者)
2006-11-28 22:01
1
谢谢楼上表扬。

临江仙,欢迎你来这里玩!
游客请输入验证码