首页 > 其他 > 详细

蛇形矩阵

时间:2016-05-26 14:31:13      阅读:281      评论:0      收藏:0      [点我收藏+]

#include <stdio.h>
#define MAX 100
int main()
{
    
    int number[MAX][MAX] = {0,};
    int maxx, maxy, num, i, j, tmp_maxx, tmp_maxy, tmp_minx, tmp_miny;
    scanf("%d %d", &maxx, &maxy);
    num = 1;
    tmp_maxx = tmp_maxy = 1;
    tmp_minx = tmp_miny = 0;
    i = j = 0;
    
    number[j][i] = num++;
    
    int x = 1;
    while(num <= maxx * maxy){
        
        for(i = tmp_maxx, j = tmp_miny; i >= tmp_minx ||  j <= tmp_maxy; i--, j++  )
            number[j][i] = num++;
        
        if(tmp_maxx + 1 > maxx -1)
            tmp_miny++;
        else
            tmp_maxx++;
        
        if(tmp_maxy + 1 > maxy -1)
            tmp_minx++;
        else
            tmp_maxy++;
        

        for(i = tmp_minx, j = tmp_maxy; i <= tmp_maxx || j >= tmp_miny; i++, j--  )
            number[j][i] = num++;
        if(tmp_maxx + 1 > maxx -1)
            tmp_miny++;
        else
            tmp_maxx++;
        
        if(tmp_maxy + 1 > maxy -1)
            tmp_minx++;
        else
            tmp_maxy++;

    }
    for (i = 0; i < maxy; i++)
    {
        for (j = 0; j < maxx; j++)
            printf("%2d ", number[i][j]);
        
        printf("\n");
    }
}

蛇形矩阵

原文:http://www.cnblogs.com/famuji/p/5530768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!