专注职业教育&教研设备+自媒体链接+智慧投资。


只要肯花时间,一定会有所成长。

学技术,重在日拱一卒、一点一滴的积累。

今天一起分析C语言的算法之10:猜字游戏。

算法题目:

猜1个一百以内的整数(该整数为系统随机产生的数),共5次机会。

编程思路分析

编程思路:

1、调用C语言库函数rand需要引用头文件stdlib.h,要让随机数限定在一个范围,可以采用模除加加法的方式。

2、要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:rand()%(n-m+1)+m,其原理为:对于任意数,0 <= rand()%(n-m+1) <= n-m;即rand()%(n-m+1)生成的随机数是在0到n-m之间的),于是0+m <= rand()%(n-m+1)+m <= n-m+m(于是给这个随机数加上m就可以得到m到n-m之间的随机数)即m<=rand()%(n-m+1)+m<=n。

3、所以循环13次即可。

程序范例

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

int num;

int guess;//用户猜数

int right;//正确答案

int count;//已猜次数

int c;

srand((unsigned)time(0));

while(1)

{

count = 0;

right = 0;

num = rand()%100;

printf("请猜一个数:");

while(count++ < 5)

{

/*小于5次,不断猜数*/

scanf("%d",&guess);

if(guess == num)

{

right = 1;

printf("恭喜猜对!\n");break;

}

else if(guess>num)

rintf("大.\n");

else

printf("小.\n");

}

if(right == 0)

printf("尝试5次,失败\n");

printf("是否继续?y/n:");

fflush(stdin);

c = getchar();

if(c == 'n' || c == 'N')

break;

}

return 0;

}

程序运行结果案例:

祝各位朋友:

春节快乐;

阖家团圆;

幸福美满。

C语言算法之:猜字游戏相关推荐

  1. 【C语言】简单猜字游戏

    猜字游戏 问题描述 解决方案 代码实现 问题描述 系统产生一个100以内的随机数,玩家来猜,输入一个值,系统提示猜大或猜小直到猜准为止 解决方案 产生随机值需要调用rand函数,查阅MSDN rand ...

  2. 猜字游戏(python版加C语言版)

    python版猜字游戏,代码如下: import randomclass Error(Exception):passclass TooSmallError(Error):passclass TooLa ...

  3. c语言随机数猜字,玩猜字游戏顺便理解c语言的伪随机数(rand,srand)

    随机数 要想要产生真正的随机数,需要先来了解下面几个函数. rand()函数 C 库函数 int rand(void) 返回一个范围在 0 到 RAND_MAX 之间的伪随机数. RAND_MAX 是 ...

  4. Java语言编写猜字游戏

    /*** 一个类A有一个实例变量v,从键盘接收一个正整数作为实例变量v的初始值.* 另外再定义一个类B,对A类的实例变量v进行猜测.* 如果大了则提示大了,小了则提示小了,等于则提示猜测成功*/ pu ...

  5. C语言实现双人猜数游戏

    C语言实现双人猜数游戏 程序说明: 编写一个程序实现猜数字大小的游戏.由程序随机生成一个数字.玩家不断程序的提示下输入猜测的数字,然后游戏者在猜数,程序可实现连续猜数,直到游戏者退出. 程序输出要求: ...

  6. hangman猜字游戏

    hangman猜字游戏 记得去年公选haskell函数程序设计的时候老师让我们用haskell 语言实现过这个游戏,当时对于语言学得吃力,所以没有实现好,现在看到这个游戏的实现,觉得些许熟悉-- 运用 ...

  7. c语言课程设计猜数字游戏报告,C语言课程设计猜数字游戏报告

    C语言课程设计猜数字游戏报告 C 语言课程设计----猜数字1摘 要该 软 件 在 Windows 系 统 上 为 玩 家 提 供 猜 数 字 游 戏的 基 本 功 能 , 游 戏 用 户 可 以 选 ...

  8. 1到100猜数字游戏规则c语言,[C语言课程设计猜数字游戏1.doc

    [C语言课程设计猜数字游戏1 课 程 设 计 报 告 课程名称 C语言程序设计报告 课题名称 猜数字游戏 专 业 电气工程及其自动化 班 级 1104 学 号 33 姓 名 张腾 指导教师 黄晓宇 丁 ...

  9. Python猜字游戏(用函数)(最新版)

    #coding=utf-8#猜字游戏#导入随机数 import random#判断数的大小与答案的大小 def guess_judge(num):while (True):guess_judge_nu ...

最新文章

  1. C#通过继电器接收PD132地感设备信号
  2. linux上安装redis
  3. Window Server 2008 R2系统备份
  4. 分治-Strassen矩阵乘法
  5. java 多线程 一个博客
  6. 多个客户端如何同时连接到服务器上的一个端口(例如80)? [重复]
  7. java循环速度比较_List的二种循环速度比较
  8. 数学建模:Leslie离散人口发展模型
  9. 中国一线二线三线城市名单
  10. 用R的igraph包来画蛋白质互作网络图 | PPI | protein protein interaction network | Cytoscape...
  11. httpclient封装工具类
  12. Windows 下安装sql server 2016(附安装包资源)
  13. Ruby语言的特别之处
  14. 卫星导航系统的发展历史
  15. 部分选主元的Doolittle分解
  16. 黑苹果从入门到精通:可能是世界上最详细的VMware安装macOS教程
  17. Win10怎么隐藏磁盘分区
  18. Hadoop-大数据引言
  19. [综述] 细粒度图像分析2019
  20. 小米抢注mi.io域名 “雷布斯”要做小米小程序?

热门文章

  1. echarts图表坐标轴文字换行显示
  2. 高通骁龙855强势上线:7nm工艺,性能较845提升至少3倍,全面支持5G
  3. SPI之 ------- 片选信号CS
  4. C++学习之操作符重载总结
  5. 使用BenchmarkSQL对OceanBase进行测试的步骤
  6. u盘安装成功计算机里找不到文件夹,u盘里的文件不见了,详细教您U盘内容不显示怎么办...
  7. vuejs项目前端纯js在线下载网页内容保存为自定义格式的word文件、另存为word文件
  8. Linux usb子系统(一):子系统架构
  9. 加密表格文档上传导入报错的解决方案
  10. 使用Navicat for MySQL添加外键约束