文档章节

顺时针螺旋数

 冰客
发布于 2015/09/27 13:42
字数 260
阅读 9
收藏 0

螺旋数形如下:
1    2    3    4
9   10   5
8    6


试写出一个程序,使任意输入一个数都能出现如下输出:
 4
1    2    3    4
9   10   5
8    6
 

源代码:

#include <stdio.h>

void create(int size,int a[][21],int data,int x,int y,int action)

{

if(action==0)

{

a[x][y]=data;

while(a[x+1][y]==0&&x+1!=size)

{

x=x+1;

data++;

a[x][y]=data;

}

if(a[x-1][y+1]==0)create(size,a,data+1,x-1,y+1,1);

}

if(action==1)

{

a[x][y]=data;

while(a[x-1][y+1]==0&&y>0)

{

x=x-1;

y=y+1;

data++;

a[x][y]=data;

}

if(a[x][y-1]==0)create(size,a,data+1,x,y-1,2);

}

if(action==2)

{

a[x][y]=data;

while(a[x][y-1]==0)

{

y=y-1;

data++;

a[x][y]=data;

}

if(a[x+1][y]==0)create(size,a,data+1,x+1,y,0);

}

}

int main()

{

int i,j;

int a[21][21]={0};

int size;

scanf("%d",&size);

create(size,a,1,0,0,0);

for(i=0;i<size;i++)

{

for(j=0;j<size-i;j++)printf("%4d",a[j][i]);

printf("\n");

}

return 0;

}  

代码截图:

© 著作权归作者所有

上一篇: 全数列
下一篇: 百家姓的array
粉丝 0
博文 12
码字总数 6858
作品 0
鄂州
私信 提问
Leetcode【54、59、885】

问题描述:【Array】54. Spiral Matrix 解题思路: 这道题是给一个矩阵,按顺时针螺旋输出所有数字。 这道题做法很直接,就是从最外层到最内层一层一层按照顺时针螺旋输出各个数字即可。如下...

牛奶芝麻
07/02
0
0
Python3 欧拉计划 问题26-30

问题21—25参见:http://www.jianshu.com/p/5437d1305800 26、最长的倒数循环节 单位分数是指分子为1的分数。分母从2到10的单位分数的十进制表示如下所示: 1/2= 0.5 1/3= 0.(3) 1/4= 0.25 ...

AiFan
2017/12/18
0
0
【LeetCode】Spiral Matrix(螺旋矩阵)

这是LeetCode里的第54道题。 题目要求: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9...

1000sakura
2018/11/28
0
0
Python 基础练习 PAT水题(四)

#学习笔记 #用以练习python基础 # 原题链接:https://www.patest.cn/contests/pat-b-practise/1050 1050. 螺旋矩阵(25) 本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“...

chaunceyjiang
2017/04/26
0
0
「UG原创资料」左旋螺纹右旋螺纹定义,左右螺纹的区分以及加工方法

  一、螺纹的定义:   螺纹分为两种:左旋螺纹和右旋螺纹。   当把零件沿轴线垂直放置时,螺纹旋线左端高于右端时,即为左旋螺纹 (如图1两种螺纹旋转方向)。而当右端旋线高于左端时,...

UG数控编程
2018/04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java FOR-EACH循环

FOR-EACH循环使得代码更加的简短,也让代码更加易懂,其实他并没有加入什么新的功能。他的功能完全可以用简单的FOR循环代替。 for-each的用法: int a[] = {1,2,3,4,5,6} for(int s:a){ Syst...

无名氏的程序员
15分钟前
2
0
使用HTML5的History API

本文转载于:专业的前端网站➣使用HTML5的History API   HTML5 History API提供了一种功能,能让开发人员在不刷新整个页面的情况下修改站点的URL。这个功能很有用,例如通过一段JavaScript代...

前端老手
17分钟前
2
0
JAVA 编写redisUtils工具类,防止高并发获取缓存出现并发问题

import lombok.extern.slf4j.Slf4j;import org.springframework.data.redis.core.BoundHashOperations;import org.springframework.data.redis.core.BoundValueOperations;import org.......

huangkejie
58分钟前
7
0
JMM内存模型(一)&volatile关键字的可见性

在说这个之前,我想先说一下计算机的内存模型: CPU在执行的时候,肯定要有数据,而数据在内存中放着呢,这里的内存就是计算机的物理内存,刚开始还好,但是随着技术的发展,CPU处理的速度越...

走向人生巅峰的大路
今天
98
0
你对AJAX认知有多少(2)?

接着昨日内容,我们几天继续探讨ajax的相关知识点 提到ajax下面几个问题又是必须要了解的啦~~~ 8、在浏览器端如何得到服务器端响应的XML数据。 通过XMLHttpRequest对象的responseXMl属性 9、 ...

理性思考
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部