技术标签: c语言
#include <malloc.h>
#include <stdio.h>
int main(void)
{
//用户输入的值,创建n*n的矩阵
int n;
//蛇形从1开始计数
int count = 1;
//a[x][y],x是二维数组的第一个下标,y是第二个。
//round是蛇形矩阵的第几圈,从0开始。
int x,y,round;
scanf("%d",&n);
int (*a)[n] = calloc(n*n,sizeof(int));
//如果n是1,则直接输出。
if(n == 1){
a[0][0] = count;
}else{
//下面以n=5为例
//一共有2(5/2)圈蛇形
for(round=0; round<n/2; round++){
/* 以下循环执行后输出如下:
1 2 3 4 5
*/
x = round;
for(y=round;y<n-round;y++){
a[x][y]=count;
count++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
6
7
8
*/
y = n - round - 1;
for(x=round+1;x<n-round-1;x++){
a[x][y]=count;
count++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
6
7
8
13 12 11 10 9
*/
x = n - round - 1;
for(y=n-round-1;y>=round;y--){
a[x][y]=count;
count++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
16 6
15 7
14 8
13 12 11 10 9
*/
y = round;
for(x=n-round-1-1;x>round;x--){
a[x][y]=count;
count++;
}
}
/* 上面的大循环执行后输出如下:
1 2 3 4 5
16 17 18 19 6
15 24 20 7
14 23 22 21 8
13 12 11 10 9
*/
if(n%2 == 1){
//如果n值奇数,将最中间的空填上
a[n/2][n/2] = count;
}
}
//打印矩阵
for(x=0;x<n;x++){
for(y=0;y<n;y++){
printf("%d ",a[x][y]);
}
printf("\n");
}
printf("\n");
free(a);
return 0;
}
c语言三元运算符Programmers use the ternary operator for decision making in place of longer if and else conditional statements.程序员使用三元运算符代替较长的if和else条件语句进行决策。The ternary operator take three arguments:三元运算符采用三...
强烈推荐 G...
来源: 2018 NIPS–微软亚洲研究院参考:https://www.msra.cn/zh-cn/news/features/nips-2018-papers-from-msra1. 文章概述:对话中的多轮问答和语义分析是NLP领域两个核心问题,对语音助手、聊天机器人和搜索引擎都至关重要。在本文中,我们提出了基于知识图谱的对话式语义分析模型。(有点没想通复制了之前的KB实体之后呢?就是复制...
对android 内存分析比较好的Blog:1.http://blog.csdn.net/gemmem/article/details/8920039 主要介绍1、进程的地址空间。2、进程内存空间和RAM之间的关系。3、Android中的进程。4、Android中进程的堆内存。5、Android的 java程序为什么容易出现OOM。6、Android如何应对RA
逆向时用frida hook java层相对比较简单,找准hook点用objection就行!或则自己写脚本hook java常见的加密/编码也很简单,核心原因就是类名、函数名称得以保留,逆向人员能快速定位!java层常见的加密/编码hook脚本这里有:https://www.cnblogs.com/theseventhson/p/14852458.html ; java层的解决了? so层怎么办了? 因为so层用c/c++写的,编译后的release版本把变量名、函数名都去掉了,加密/编码算法单从名称上.
本文介绍SysML中用例图中的基本概念,以及应用示例
1、正常经过应该是扫描页面中的二维码,打开url,系统根据url中参数查询出结果,没有汉字,一切正常;2、之后参数中加入汉字,找不到结果了;2、网站页面经过混淆,无从查找原因,然后找到生成二维码的文件qrcode.asp;3、发现文件中url经过了encodeURIComponent(url)(utf8编码),但网站中所有页面编码统一为gb2312,从而引起汉字乱码无法查询出...
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pair 类型的定义 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Pair 类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的
#coding:utf-8import osdef get_abspath(): print(__file__) a = os.path.abspath(__file__) print(os.path.split(a)) print(os.path.split(a)[0]) print(os.path.split(a)[1]) print(o...
find 默认在当前 即 . 目录下查找du 文件名 / 目录 # 查看文件占用内存大小1. 按照文件名查找find / -name qwe # qwe为文件名find / -name *qwe* # * 为模糊匹配2. 按照文件类型查找find / -type d # 查找目录文件find / -type f # 查找普通文件find / -type l # 查找链接文件3. 查到文...
一、 内容概述本文主要介绍c语言中条件编译相关的预编译指令,包括#define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined。二、条件编译条件编译是根据实际定义宏(某类条件)进行代码静态编译的手段。可根据表达式的值或某个特定宏是否被定义来确定编译条件。最常见的条件编译是防止重复包含头文件的宏,形式跟下面代码类似:1 #ifndef ABC...
有没有一种简单的方法可以在Oracle中使用JSON?我有一个经常用于调用Web服务的标准过程,JSON是我在Web开发上下文中熟悉的一种格式,但是在存储过程中使用JSON的最佳方法是什么?例如,从URI中获取CLOB响应,将其转换为JSON对象并从中获取值?作为参考,这是我用来获取URL的过程create or replace procedure macp_URL_GET(url_resp in...