C语言写出一个随机生成1-100数字的猜数字游戏
因为要产生1-100的随机数,所以要用到rand()函数(生成随机数),但是只是单纯使用rand()时,第二次运行玩游戏产生的随机数和第一次运行玩游戏产生的随机数相等,这样一来玩几次就知道答案了,本来就无聊的游戏更没趣了,为了每次玩游戏产生的随机数都不相等,所以在使用rand()时,应该在前面使用一个srand()函数,作用是设置一个产生随机数的起始坐标,()内的数值决定了你产生的随机数是多少,所以为了每次产生不一样的随机数,我们应该也要把()内的数设置成一个随机数或者是个不断改变的数,所以我们可以将我们电脑上的时间放到srand的()内,也就是将时间戳(就是当前计算机的时间减去计算机的起始时间1970年1月1日0分0秒=(xxx秒))放到()内,这样就可以产生不同的随机数起始坐标,就可以产生不相等的随机数。
其中 time(括号里面需要个指针但是我们不需要 所以放个空指针就行 NULL
设置起点一次就行没必要每次都从新设置 所以放在主函数中就行 没必要放在game()里
rand() 以及srand()的头文件为stdlib.h 调用计算机时间的函数time的头文件为time.h
代码如下
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void kaishicaidan()
{
printf("*************************\n");
printf("***** 1.开始 0.结束 *****\n");
printf("*************************\n");
}
void game()
{
int c = 0;
int b = 0;
b = rand()%100+1; //产生一个1-100的随机数
while (1) //直到猜对才退出程序
{
printf("请输入一个数字:");
scanf("%d", &c);
if (c > b)
{
printf("大了\n");
}
else if (c < b)
{
printf("小了\n");
}
else
{
printf("对了\n");
break;
}
}
}
int main()
{
int a = 0;
srand((unsigned int)time(NULL)); /*放在rand()之前,是每次游戏产生的随机数都不相同, srand()内要求是 无符号整形所以要强制转换一下,time()内 要求指针,但是这个不太需要,所以加上个空指针NULL就行*/
do
{
kaishicaidan(); //自制函数开始菜单
printf("请选择:");
scanf("%d", &a);
switch (a)
{
case 1:
game(); //自制函数游戏
break;
case 0:
printf("退出游戏");
break;
default:
printf("输入错误");
break;
}
} while(a); //如果是零就结束循环 ,如果非零就继续循环
return 0;
}
C语言写出一个随机生成1-100数字的猜数字游戏相关推荐
- 用c语言写出一个金字塔
如何用c语言写出一个金字塔 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main(){int i;//用户想要的层数int ...
- 如何用C语言写出一个微信群聊机器人
要用 C 语言写出一个微信群聊机器人,您需要先了解微信群聊的相关信息和 C 语言的编程知识. 首先,微信群聊是通过微信服务器进行通信的,因此您需要了解如何通过网络协议与微信服务器进行通信.微信群聊使用 ...
- 用C语言写了一个明日方舟的简略的抽卡小游戏
明日方舟抽卡小游戏 目录 明日方舟抽卡小游戏 第一步 创建菜单 游戏的实现 头文件的声明 写这个程序的灵感来来自于<每天都要学一点哦>,本人不怎么完原神,就自己做了个明日方舟版的 过程和猜 ...
- 用c语言写出一个榜单程序,C语言依然位居榜单前列,依然值得程序员学习
原标题:C语言依然位居榜单前列,依然值得程序员学习 关注.星标公众号,不错过精彩内容 如今,市面上编程语言几百种,很多人觉得Python. JAVA这种语言比较火,是不是C语言就不行了呢? 殊不知,C ...
- c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...
求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束 /* 以下是主要的逻辑代码,还有些.c和.h就没发了 ...
- python语言是 创造的_慢步python,如何用python语言创造出一个真正的独立exe程序?...
我们学习编程,终极目标还是编写一个独立的应用程序.独立的应用程序应该像QQ,微信一样不依靠其他程序运行,只有平台支持,就可以运行.从这个意义上说,所用应用程序都是基于操作系统运行的. 那么如何用pyt ...
- c语言猜四位数游戏猜10次,C语言猜数字游戏--随机生成4个不相同的数字从小到大排序,用户开始游戏,如果用户猜对数字和数字对应的位置,界面回馈A,如果数字正确位置不正确,则回馈B...
1.看程序运行截图吧!! 由于博主本人较笨,就不动画演示了,如果动画的话可能将是一个漫长的过程! 猜数字游戏.png 2.游戏题目 随机生成4个不相同的数字从小到大排序,用户开始游戏,如果用户猜对数字 ...
- c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...
matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...
- 写出一个抽奖页面,有200个人参加抽奖
写出一个抽奖页面 有200个人参加抽奖,每次抽出一个人,不能重复,必须每个人都要抽中奖 前面10次抽奖要选中固定的10个人,每次就从这10人中随机抽取一人,不能重复 从第11次开始就从剩余的190人当 ...
最新文章
- Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理
- PAT甲级1043 Is It a Binary Search Tree :[C++题解]判断二叉搜索树BST、给定前序序列和中序序列
- XXX管理平台系统——概要
- 在Visual Studio中使用用例图描述系统与参与者间的关系
- 计算机人力资源试题及答案,计算机二级word练习题一题目及答案.
- 关于本地yum源的创建方法和使用
- Quartus II下进行SignalTap仿真
- 链路预测 matlab,链路预测
- 日本现场常用日语词汇
- 电除尘器 matlab,电除尘用高频高压直流叠加高压脉冲电源的制作方法
- linux mint安装搜狗输入法
- c语言课程设计报告之迷宫,C语言课程设计-迷宫游戏
- django 连接oracle的坑和解决方法
- 职场人士论文下载方法
- 9.png 自带工具 ps 两种修改方式
- html python 交互_python与html交互详解
- Computer for fun
- 大砍广告投放,还威胁要下架Twitter,马斯克怒向苹果开炮:宁可开战也不付30%“过路费”
- uCOS-II PC编译环境搭建(基于BC45)
- 中国将强势反击,或暂停采购波音飞机,波音或因此受重击