首页 > 代码库 > 蛇形矩阵
蛇形矩阵
如上图所示,是一个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; }
运行结果
感悟
一开始做这道题无从下手,然后慢慢找规律,会发现其实也不是太难。所以啊,好好耐心看题才是关键啊!
蛇形矩阵
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。