随机步法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的原理 同样非常 ...
随机推荐
- STM32外部中断.
void EXTIX_Init(void){ EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructu ...
- DateTimeUtil 工具类,android 和 java 通用
import java.sql.Date;import java.text.SimpleDateFormat; public class DateTimeUtil { public final cla ...
- C# csv 操作类
using System.Data; using System.IO; using System.Text; namespace YanZhiwei.DotNet2.Utilities.Common ...
- html5 canvas 笔记一(基本用法与绘制图形)
<canvas> 元素 <canvas id="tutorial" width="150" height="150"> ...
- (转载)PERL 处理CSV
#!/usr/bin/perl#use strict;open(FILE1,"C:/Perl/BX/BX-Users.csv");open(FILE2,"C:/Perl/ ...
- java 面试每日一题6
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5 ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- [算法]判断一个数是不是2的N次方
如果一个数是2^n,说明这个二进制里面只有一个1.除了1. a = (10000)b a-1 = (01111)b a&(a-1) = 0. 如果一个数不是2^n, 说明它的二进制里含有多一 ...
- Python 日期和时间
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. ...
- YTU 3007: 顺序串的基本运算
3007: 顺序串的基本运算 时间限制: 1 Sec 内存限制: 128 MB 提交: 1 解决: 1 题目描述 编写一个程序,实现顺序串的各种基本运算,主函数已给出,请补充每一种方法. 1.建立 ...