螺旋数字程序

#include <stdio.h>
int main(int argc, const char * argv[])
{
    
        int num,maxnum,count=1,x=0,y,numtemp;
        int i;
        printf("输入螺旋列数num,和最大数字maxnum\n");
        scanf("%d%d",&num,&maxnum);
        int index[10][10]={0};
        numtemp=num;
        y=num-1;
        while (count<=maxnum) {
            
            for (i=(int)x; i<num; i++) {
                if (count<=maxnum) {
                    index[x][i]=count;
                    count++;
                }
                else
                    break;
            }//从左往右
            
            for (i=(int)x+1; i<num; i++) {
                if (count<=maxnum) {
                    index[i][y]=count;
                    count++;
                }
                else
                    break;
            }//从上往下
            
            for (i=(int)num-2; i>=(int)x; i--) {
                if (count<=maxnum) {
                    index[num-1][i]=count;
                    count++;
                }
                else
                    break;
            }//从右往左
            
            for (i=(int)num-2; i>=(int)x+1; i--) {
                if (count<=maxnum) {
                    index[i][x]=count;
                    count++;
                }
                else
                    break;
            }//从下往上
            x++;
            y--;
            num--;
        }
        for (int i=0; i<numtemp; i++) {
            for (int j=0; j<numtemp; j++) {
                printf("%d\t",index[i][j]);
            }
            printf("\n\n");
        }
    return 0;
}
时间: 2024-11-05 02:33:07

螺旋数字程序的相关文章

螺旋数字的python实现

螺旋数字的算法简单实现. 示例 5 01 02 03 04 05 16 17 18 19 06 15 24 25 20 07 14 23 22 21 08 13 12 11 10 09 通过观察,外部数字进行环绕一圈后向内收拢. 从程序出发,只要递归处理好4条边即可. 同时为了避免顶点重复赋值,最后一个点让后续的边处理. 说明:处理暂时存储在一个list对象中. 实现代码: def getlocIndex(l_x,l_y,steps): return l_x + l_y*steps def in

算法(螺旋数字)

public class Test { public static void main(String[] args) { printjz(8); System.out.println("======================================"); printjz(9); } public static void printjz(int n) { int max = n * n; int[][] arr = new int[n][n]; if (n % 2 == 0

数组-13. 螺旋方阵

1 /* 2 * Main.c 3 * E13-数组-13. 螺旋方阵 4 * Created on: 2014年8月25日 5 *******测试通过*********** 6 * 7 */ 8 9 #include <stdio.h> 10 11 int main(void) { 12 13 int array[11][11]; 14 int n; //题目中的N 15 16 scanf("%d", &n); 17 18 int upBound = 0; //上

简单的猜数字小游戏

/** 简单的猜数字小游戏 要求如下: 用户输入想猜测数字的范围,输入1000则是0~1000之内的数字,程序就会内置一个 1 到 1000 之间的数字作为猜测的结果,由用户猜测此数字,用户每猜测一次,由系统提示猜测结果:大了.小了或者猜对了:直到用户猜对结果,则提示游戏结束.用户可以提前退出游戏,即,游戏过程中,如果用户录入数字0则游戏终止.加入新功能: 记次猜测次数功能,提示游戏开始时间,计猜测总用时功能,提示游戏结束时间 思路:1.用户输入电脑生成的数值取值范围,接收并判断是否是合理数值?

游戏发展史(Shell数字游戏)

原本想写点shell脚本练练手,突发奇想试试做个猜数字游戏吧.于是就有了后续的事情.最先写了个最最原始的猜数字脚本.无论功能还是美观度都不尽如人意,于是一个一个版本迭代更新,后续版本每次都比前一次功能更完善. 通过这次的脚本练习我明白一个道理,"心急吃不了热豆腐" 亘古不变的真理啊,无论创业也好,做实事打工也罢,还的从头一步一步做起,凡是心高气傲一次性想做出完美产品的都不切实际.好的产品需要从用户需求出发,精雕细琢,层层迭代,才能经受更严峻的考验. 猜数字游戏原版V1 #给定一个不可变

Rust猜数字之比较

比较 既然我们获得了用户的输入,让我们把猜测的数据跟神秘数字做比较.这是我们的下一步,尽管它还不能真正工作: extern crate rand; use std::io; use std::cmp::Ordering; use rand::Rng; fn main() { println!("Guess the number!"); let secret_number = rand::thread_rng().gen_range(1, 101); println!("The

第五篇:本人多年来积累的单片机程序 资料下载(绝对干货,内附下载链接)

首先打个广告:如果需要做毕设以及嵌入式项目合作,欢迎进入我们工作室:创想嵌入式设计工作室 本人搜集的大量单片机源码资料及毕业设计资料,足有1200+套,很多实用的demo源码和毕业设计参考方案,可用于做项目时借鉴,博尾附有下载链接.(内附本人联系方式,可一起交流探讨,交朋友) 为了方便 查找,我已将项目源码的目录整理出来了,方便 采用"ctrl +F"快速查找验证是否有需要的demo.可以一键打包下载,也可只下载需要的demo. 下载链接内附本人联系方式,如果在安装过程中遇到问题,可以

CodeForces 520D Cubes

题意: 二维平面内有一个图形由n(10^5)个标有0~n-1的方块组成  保证它是稳定的  即每个方块要么落在地面上  要么下面(边或点相交)有至少一个方块支撑  现在两个人轮流拆这个图形  要求拆的过程中图形仍稳定  拆下的方块上的数字会形成一个n进制的数  先手想让这个数最大  后手想最小  问最后这个数字是几 思路: 简单的贪心思路  在不毁坏稳定性的前提下  先手拿大数字  后手拿小数字  程序写的暴力会n^2造成TLE 那么我们维护一个有序队列(set维护)  这里面装着可以拆的数字

php验证邮箱和ip地址方法总汇

在开发中验证邮箱.url.数字是我们常用的一些例子,下面整理了验证邮箱.url.数字程序,大家有兴趣可参考一下. 例子代码如下: public static function isEmail( $email ) { return preg_match("/^([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,4}([\.][a-z]{2})?$/i" , $email ); } public static