语言入门-题目33(蛇形矩阵)_模拟
来源:互联网 发布:sql insert用法 编辑:程序博客网 时间:2024/06/05 02:30
其实老早我就写过这个蛇形矩阵的题目了.所以这次还算是比较轻松的写出来了,只不过是可惜的是自己还是写了比较长的时间
而且也改错改了一些时间.嘿嘿.我觉得这道题目就是一道模拟的题目.
大家给看看咯.嘿嘿.
#include <stdio.h>#include <string.h>#include <iostream>#include <string>#include <algorithm>using namespace std;int N;int a[111][111];void Slove (){int d = N - 1; //第一点就是注意的这个,解题的思路是模拟.要是让你在纸上画出来,你是怎么画的呢? int i = 1;int j = N;int cunt = 1;while (d > 0){for (int k = 1; k <= d; k++){a[i][j] = cunt ++;i++;}for (int k = 1; k <= d; k++){a[i][j] = cunt ++;j--;}for (int k = 1; k <= d; k++){a[i][j] = cunt ++;i--;}for (int k = 1; k <= d; k++){a[i][j] = cunt ++;j++;}j--; //注意这个,因为每次到结束的时候,j都会多加一次; i++; //注意起始状态的时候i就已经归到他应该的地方去了,所以要i自加1; d -= 2; //每转一圈循环次数都要减去2的; }if (cunt == N * N) //这是最重要的了,,因为你设置的循环出来的条件是d>0.所以又时候d=0的时候是没有办法输出的,就得单独输出了. {a[i][j] = cunt;} }void Print (){for (int i = 1; i <= N; i++){for (int j = 1; j <= N; j++){cout << a[i][j] << " ";}cout << endl;}}int main(){cin >> N;if (N == 1){cout << "1" << endl; //这是求解的严谨性 }else{Slove ();// 这两个函数是求解的对象性,面向对象分块. Print ();}//system ("pause");return 0;}
- 语言入门-题目33(蛇形矩阵)_模拟
- 1160 蛇形矩阵(模拟)
- 模拟 蛇形矩阵
- ACM编程比赛入门题目之蛇形矩阵
- C语言-蛇形矩阵
- [模拟]CODEVS-1160 蛇形矩阵
- C语言蛇形矩阵2
- C语言蛇形矩阵例题
- c语言写蛇形矩阵
- C语言实现蛇形矩阵
- ACM编程比赛入门题目之蛇形矩阵 CodeVS/wikioi 1160
- (C语言)oracle笔试题目,蛇形矩阵的一种简单的解决方法
- 华为OJ平台题目:蛇形矩阵
- 腾讯机试模拟题(蛇形矩阵)
- C语言蛇形矩阵的输出
- c语言中的蛇形矩阵代码分享
- c语言实现输出二维蛇形矩阵
- C语言-蛇形矩阵(2)
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
- 《Code Rush》(奔腾的代码)中文字幕版
- php学习 第三十八节
- ios多线程编程概要 总结
- NoSQL架构实践-以NoSQL为辅
- 语言入门-题目33(蛇形矩阵)_模拟
- 学习之——学习的进度思考
- php学习 第三十九节
- 雅思词汇 词根+联系 记忆法 单词例句-39
- 变态级的JAVA程序员面试32问(很多都是基础内容)
- sort
- php学习 第四十节
- 学习FLASH之明天的学习计划
- 正则表达式