蛇形填数

来源:互联网 发布:剑三正太捏脸数据 南风 编辑:程序博客网 时间:2024/05/18 18:01

蛇形填数

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
输入
直接输入方陈的维数,即n的值。(n<=100)
输出
输出结果是蛇形方陈。
样例输入
3
样例输出
7 8 16 9 2

5 4 3

原创代码:

#include<stdio.h>int main(){int s[100][100],i;int n,k,m,j;while(scanf("%d",&n)!=EOF){m=n;j=0;k=1;while(1){for(i=j;i<n-1;i++){s[i][n-1]=k;k++;}for(i=n-1;i>j;i--){s[n-1][i]=k;k++;}for(i=n-1;i>j;i--){s[i][j]=k;k++;}for(i=j;i<n-1;i++){s[j][i]=k;k++;}j++;n=n-1;if(n<=0)break;}if(m%2!=0)s[(m-1)/2][(m-1)/2]=m*m;for(i=0;i<m;i++){for(j=0;j<m;j++)printf("%d ",s[i][j]);printf("\n");}}return 0;}

最有代码:


0 0