首页 > 其他分享 >蛇形方阵-只有代码

蛇形方阵-只有代码

时间:2023-04-12 18:33:12浏览次数:34  
标签:++ 代码 int while num 蛇形 && 100 方阵

#include<iostream>
#include<cstring>
using namespace std;

int main()
{
    int a[100][100]={}, n, x, y, num=1, i=0;
    cin >> n;
    //memset(a, 0, sizeof(0));
    x = 0, y = n-1;
    a[x][y] = num;
    while(num < n*n)
    {
        // 向下:
        while(x+1 < n && a[x+1][y] == 0)
        {
            num++;
            a[x+1][y] = num;
            i++;
            x++;
        } 
        // x = 3, y = 3;
        // 向左: 
        while(y-1 >= 0 && a[x][y-1]==0)
        {
            num++;
            a[x][y-1]=num;
            y--;
            i++;
        }
        // x = 3, y = 0;
        // 向上: 
        while(x-1 >= 0 && a[x-1][y] == 0)
        {
            num++;
            a[x-1][y]=num;
            x--;
            i++;
        }
        // x = 0, y = 0;
        // 向右:
        while(y+1 < n && a[x][y+1]==0)
        {
            num++;
            a[x][y+1]=num;
            y++;
            i++;
        }
        //cout << x << " " << y << endl;
        if(i==n*n) break;    
    }
    
    for(int i=0; i<=n-1; i++)
    {
        for(int j=0; j<=n-1; j++)
        {
            printf("%2d ", a[i][j]);
        }
        cout << endl;
    }
    return 0;
} 

 

标签:++,代码,int,while,num,蛇形,&&,100,方阵
From: https://www.cnblogs.com/dks0313/p/17310781.html

相关文章

  • 玫瑰代码
    #include<stdio.h>#include<math.h> constintmax_iterations=128;constfloatstop_threshold=0.01f;constfloatgrad_step=0.01f;constfloatclip_far=10.0f; constfloatPI=3.14159265359f;constfloatPI2=6.28318530718f;constfloatDEG_......
  • SpringBoot启动后获取特定注解的Bean实例代码(转)
    来自:https://zhuanlan.zhihu.com/p/375973197本文研究的主要是Spring启动后获取所有拥有特定注解的Bean,具体如下。最近项目中遇到一个业务场景,就是在Spring容器启动后获取所有的Bean中实现了一个特定接口的对象,第一个想到的是ApplicationContextAware,在setApplicationContext中......
  • 基于低代码开发平台打造新时代OA系统
    一场新冠疫情令协同办公成为全民热词,加上国家数字化经济建设的背景加持,加速协同办公的进一步发展,而OA作为最基础的行政办公管理系统,几乎成为企业必备,想要通过OA协同办公系统来建立无纸化、流程化及自动化办公环境的企业不计其数。然而通过传统开发的OA系统,整体管理模式相对陈旧,企......
  • git-cz 代码提交统一规范配置
    Angular提交规范-GitGuide(zjdoc-gitguide.readthedocs.io)主要插件commitizen:代码提交辅助工具commitlint:代码校验工具husky:githook插件lint-staged:前端文件过滤工具,只检测暂存区代码cz-customizable:自定义提交配置安装步骤1.环境准备git版本,笔者使用......
  • AI对关于用vue构建低代码平台的认识
    写一个完整的低代码平台需要考虑到很多方面,包括需求分析、架构设计、UI/UX设计、后端开发以及前端实现等。下面是一个实现Vue低代码平台的大致步骤:1.需求分析:明确低代码平台的核心功能和用户需求,例如表单设计器、流程设计器、报表设计器、数据可视化等。2.架构设计:根据需求分......
  • 【常用代码】-枚举、常量
    常量contants采用接口(Interface)中变量默认为staticfinal的特性publicinterfaceConstants{StringLOGIN_KEY="OTA:VEHICLE:LOGIN";}publicfinalstaticStringOTA_TASK="OTA_TASK";枚举packagecom.mycar.mycar.car.server.enums;importlombo......
  • 直播平台软件开发,Android代码模拟触摸、点击及滑动等事件
    直播平台软件开发,Android代码模拟触摸、点击及滑动等事件一、应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 privatevoidsimulateClick(Viewview,floatx,floaty){  longdownTime=SystemClock.uptimeMillis();  finalMotionEventdownEve......
  • 第十二篇 手写原理代码 - 实现一个前端并发控制请求函数
    实现并发控制请求函数/***并发控制请求函数*@param{Array}urls请求的URL数组*@param{Number}max最大并发数*@param{Function}callback请求成功回调函数*/asyncfunctionconcurrentRequest(urls,max,callback){constlen=urls.length;//用......
  • 第十三篇 手写原理代码 - 实现 Promise
    当使用JavaScript进行异步编程时,我们往往需要面对回调地狱(callbackhell)、代码可读性低、错误处理困难等问题。为了解决这些问题,ECMAScript6(ES6)中引入了Promise。Promise是一种用于处理异步操作的对象,它是一个容器,保存着未来才会结束的事件(通常是一个异步操作),并提供了一组......
  • 第十一篇 手写原理代码 - 实现事件订阅中类
    javaScript中的订阅发布模式(也称为观察者模式)是一种设计模式,用于在对象之间的事件通信中。该模式由两部分构成:发布者和订阅者。发布者持有所有订阅者的引用,在某个事件发生时通知所有的订阅者,从而触发它们的相应行为。这种模式可以用于解耦发布者和订阅者之间的依赖关系,从而实......