zoukankan      html  css  js  c++  java
  • 螺旋矩阵

    1.螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环。

    2 思路:  可以把螺旋矩阵分成一层一层的矩形。 每层的操作都是 从左到右,从上到下,从右到左,从下到上对数字进行增大。当数字达到最大值是跳出循环。

    /**
    *  构造螺旋矩阵
    *   分为 从左到右 从右到下  从右到左  从下到上
    *   n 表示 矩阵的宽度
    */
    void luoxuan(int n){
        int a[100][100];
        int i,j;
        //表示矩阵共有多少个数
        int sum=n*n;
        //第几层.
        int c=0;
        //表示当前数字
        int num=1;
        while(num<=sum){
    
        i=0;
        j=0;
    
        //从左到右
        for(i+=c,j+=c;j<n-c;j++){
            if(num>sum)
                break;
            a[i][j]=num++;
        }
      
    //从上到下,因为上次循环结束j多加了1,要减去,然后从下面第二个数开始,i+1
       for(i+=1,j-=1;i<n-c;i++){ if(num>sum) break; a[i][j]=num++; } //从右到左 for(i-=1,j-=1;j>=c;j--){ if(num>sum) break; a[i][j]=num++; } //从下到上 for(j+=1,i-=1;i>c;i--){ if(num>sum) break; a[i][j]=num++; } c++; }
      //显示数组元素
    for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%-4d",a[i][j]); } printf(" "); } } int main() { luoxuan(19); return 0; }

     3 最终结果

  • 相关阅读:
    mysql 索引学习笔记
    mysql mysqli pdo学习总结
    Flask-Login的实现
    Flask配置方法
    Flask-SQLAlchemy使用方法
    alpha阶段绩效考核
    Alpha版本后的心得体会
    代码及数据库展示
    功能简介
    最新的用户需求分析
  • 原文地址:https://www.cnblogs.com/Triomphe/p/8118691.html
Copyright © 2011-2022 走看看