码迷,mamicode.com
首页 > 其他好文 > 详细

蛇形矩阵

时间:2017-06-18 23:40:47      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:amp   算法   include   规律   找规律   ffffff   观察   pre   stdio.h   

技术分享

如上图所示,是一个4*4的蛇形矩阵

算法思路

由图可观察到该矩阵可分为上三角和下三角。每个三角要根据蛇形的奇偶行进行计数。

算法代码

 

#include <stdio.h>
int main()
{
    int a[10][10];
    int n;
    printf("Input n:");
    scanf("%d",&n);
    int i=0,j=0,k=0;
    int count=1;
    for(i=0;i<n;i++)/*上三角 i代表是蛇形的奇偶行*/
    {
        k=0;
        for(j=i;j>=0;j--)
        {
            if(i%2 == 0)/*蛇形偶数行的操作 j代表下标行减少*/
            {
                a[j][k]=count;
                count++;
                k++;/*k代表下标列增加*/
            }
            else/*蛇形奇数行的操作 j代表下标列jian少*/
            {
                a[k][j]=count;
                count++;
                k++;/*k代表下标行增加*/
            }
        }
    }

    for(i=n-1;i>0;i--)/*下三角*/
    {
        k=n-1;
        for(j=n-i;j<n;j++)
        {
            if(i%2 == 0)
            {
                a[j][k] = count;
                count++;
                k--;
            }
            else
            {
                a[k][j] = count;
                count++;
                k--;
            }
        }
    }
    for(i=0;i<n;i++)/*循环输出结果*/
    {
        for(j=0;j<n;j++)
        {
            printf("%d\t",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

 

运行结果

技术分享


感悟

一开始做这道题无从下手,然后慢慢找规律,会发现其实也不是太难。所以啊,好好耐心看题才是关键啊!

 

蛇形矩阵

标签:amp   算法   include   规律   找规律   ffffff   观察   pre   stdio.h   

原文地址:http://www.cnblogs.com/myworld7/p/7045682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!