随机步法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的原理 同样非常 ...
随机推荐
- asp.net项目发布网上-当前自定义错误设置禁止远程查看应用程序
早上服务器的系统突然出错了,悲剧~ ==============异常信息:============================== 服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程 ...
- 指针二次释放(_BLOCK_TYPE_IS_VALID)
[1]_BLOCK_TYPE_IS_VALID是什么错误? (1)最简单的示例代码如下: void main() { ); delete pA; delete pA; } (2)运行后崩溃截图如下: ...
- python DB.fetchall()--获取数据库所有记录列表
查询到的数据格式为列表: 多个元素的列表:
- jQuery DataTable-JavaScript API
虽然大多数时候你的Javascript交互将通过使用datatable初始化对象作为描述在使用这个网站的部分,有时,你会发现它有用一些外部控制表.可以使用以下函数从jQuery.dataTable对象 ...
- lz: linux ls 变种 只显示大小和名称(包括目录)
本次输入法使用: 手心输入法 for Mac 1.0版 测试环境为:Ubuntu 14.14.2 LTS updates 测试时间为:2015年5月28日,感觉死亡将至的夜晚,独自一人坐在一个角落,戴 ...
- Linux和Windows远程桌面互连
1.Ubuntu 连 windows W.1 Windows设置允许远程桌面连接 U.1 Ubuntu设置 apt-get install rdesktop U.2 Ubuntu连接 ...
- diff 文件比较
测试数据: [xiluhua@vm-xiluhua][~]$ cat msn.txt aaa bbb bbb ccc ccc ddd bbb eee aaa ccc bbb sss [xiluhua@ ...
- HDU 3487:Play with Chain(Splay)
http://acm.hdu.edu.cn/showproblem.php?pid=3487 题意:有两种操作:1.Flip l r ,把 l 到 r 这段区间 reverse.2.Cut a b c ...
- Linux下Date命令的用法
转自http://blog.chinaunix.net/uid-8223172-id-2511672.html linux下date的用法比较复杂,但是也用的比较多,尤其是shell里面.现总结一下自 ...
- MAVEN安装过程
maven 的压缩包地址: http://pan.baidu.com/s/1kT4ckGf 第三方资源jar包地址: http://pan.baidu.com/s/1i3vtgED