标签: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