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

蛇形填数

时间:2017-08-05 21:11:16      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:str   efi   --   for   16px   main   images   alt   ret   

蛇形填数

描述

在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 1

6 9 2

5 4 3

 

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define manx 20
 4 int arr[manx][manx];
 5 int main()
 6 {
 7     int n = 0,temp = 1,x,y;
 8     scanf("%d",&n);
 9     memset(arr,0,sizeof(arr));
10     x=0;y=n-1;
11     arr[x][y] = 1;
12     while(temp<n*n)
13     {
14         while(x<n-1&&!arr[x+1][y]) arr[++x][y] = ++temp;
15         while(y>=1&&!arr[x][y-1]) arr[x][--y] = ++temp;
16         while(x>=1&&!arr[x-1][y]) arr[--x][y] = ++temp;
17         while(y<n-1&&!arr[x][y+1]) arr[x][++y] = ++temp;
18     }
19     for(int a=0;a<n;a++)
20         for(int b=0;b<n;b++)
21         {
22             printf("%d",arr[a][b]);
23             if(b!=n-1) printf(" ");
24             else printf("\n");
25         }
26     return 0;
27 }

 

 技术分享

 

蛇形填数

标签:str   efi   --   for   16px   main   images   alt   ret   

原文地址:http://www.cnblogs.com/yxh-amysear/p/7291353.html

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