随机步法A-Z
程序是生成一个10X10的字符数组,初始化时全为 ‘.’ 的随机步法。程序必须随机的从一个元素 ‘走到’ 另一个元素,每次只向上、向下、向左或向右移动一个元素位置。已访问过的元素按访问顺序用字母A到Z进行标记。
考察srand和rand的使用
代码不是太好,只能简单实现
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- char str[][];
- char point = 'A';
- int i,j,k,t;
- int randd;
- for(i=; i<; i++)
- {
- for(j=; j<; j++)
- {
- str[i][j] = '.';
- }
- }
- srand((unsigned)time(NULL));
- i = ; j = ;
- str[i][j] = 'A';
- while(point != 'Z')
- {
- randd = rand() % ;
- if(randd == && i- >= && str[i-][j] == '.')//判断条件
- {
- str[i-][j] = ++point;
- i -= ;
- }
- else if(randd == && j+ < && str[i][j+] == '.')
- {
- str[i][j+] = ++point;
- j += ;
- }
- else if(randd == && i+ < && str[i+][j] == '.')
- {
- str[i+][j] = ++point;
- i +=;
- }
- else if(randd == && j- >= && str[i][j-] == '.')
- {
- str[i][j-] = ++point;
- j -= ;
- }
- else if(str[i-][j] != '.' && str[i][j+] != '.' && str[i+][j] != '.' && str[i][j-] != '.')
- {
- break;//通过边界测定,判断跳出情况
- }
- //else randd = rand() % 4;;
- }
- for(i=; i<; i++)
- {
- for(j=; j<; j++)
- {
- printf("%c",str[i][j]);
- }
- printf("\n");
- }
- return ;
- }
随机步法A-Z的更多相关文章
- 随机生成A~Z的字母CharDemo
- Python生成随机验证码,大乐透号码
实例笔记之生成随机号码 扩展知识 - yield(生成器) 随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__' ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
- LFI漏洞利用总结
主要涉及到的函数 include(),require().include_once(),require_once() magic_quotes_gpc().allow_url_fopen().allo ...
- 重拾java系列一java基础(1)
前言,不知不觉,从接触java到工作至今已有两年的时间,突然感觉自己的基础知识还很薄弱,有些知识虽然知道,但是停留在表面上,没有深挖,或者实践过,感觉掌握的很肤浅,而且时间一长,就觉得忘记了,我觉得这 ...
- LFI漏洞利用总结(转载)
主要涉及到的函数include(),require().include_once(),require_once()magic_quotes_gpc().allow_url_fopen().allow_ ...
- MySQL扩展
一.使用MySQL特有的函数! 1>到年底还有几天 select datediff('2014-12-31','2014-6-21');//此函数用于计算日期 ...
- 7.python常用模块
1.time 常用表示时间方式: 时间戳,格式化的时间字符串,元组(struct_time) UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时 ...
- GAN 转
生成式对抗网络(GAN)是近年来大热的深度学习模型.最近正好有空看了这方面的一些论文,跑了一个GAN的代码,于是写了这篇文章来介绍一下GAN. 本文主要分为三个部分: 介绍原始的GAN的原理 同样非常 ...
随机推荐
- android 项目学习随笔一(闪屏 )
1.取标题栏且全屏 <activity android:name="com.ecollab.zhsh66.SplashActivity" android:label=&quo ...
- Thinking In Java 读书笔记
面向对象语言,五个基本特性: 1)万物皆为对象. 2)程序是对象的集合,他们通过发送消息来告知彼此所要做的. 3)每个对象都有自己的由其他对象所构成的存储. 4)每个对象都拥有其类型.即:每个对象都是 ...
- ch2-3:模块的使用-window环境
导入模块:import 模块名 完成如下工作: 1.编写一个小程序testmodule.py,导入新建的模块nester,并定义一个小列表cast,然后使用调用模块中的函数打印列表到屏幕上: impo ...
- Linux之Ganglia源码安装
一.Ganglia简介: Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点.Ganglia的核心包含gmond.gmetad以及一个Web前端.主要是用来监 ...
- 自定义tableViewCell
http://my.oschina.net/joanfen/blog/137601 效果如下图:可触发按钮事件 1.创建一个Empty Application 2.新建一个TableViewContr ...
- ACM题目————星际之门(一)
描述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门,它利用虫洞技术,一条虫洞可以连通任意的两个星系,使人们不必再待待便可立刻到达目的地. 帝国 ...
- c# web 缓存管理
using System; using System.Collections; using System.Text.RegularExpressions; using System.Web; usin ...
- 20150604_Andriod 窗体PopupWindow
package com.example.test1; import android.support.v7.app.ActionBarActivity;import android.os.Bundle; ...
- Python学习笔记-Day2-Python基础之元组操作
元组的常用操作包括但不限于以下操作: 元组的索引,计数等 这里将对列表的内置操作方法进行总结归纳,重点是以示例的方式进行展示. 使用type获取创建对象的类 type(tuple) 使用dir获取类的 ...
- web前端职业规划
关于一个WEB前端的职业规划,其实是有各种的答案,没有哪种答案是完全正确的,全凭自己的选择,只要是自己选定了, 坚持去认真走,就好.在这里,我只是简要说一下自己对于这块儿内容的理解.有一个观点想要分享 ...