c语言随机数的生成

rand()函数返回一个在0到RAND_MAX范围内的伪随机整数。在调用rand()函数之前,使用

srand()函数来初始化伪随机数生成器的种子。

srand((unsigned int)time(NULL));  //  设置随机数的起始值为强制转换成整型的时间戳     设置起始值必须在调用随机数之前

time()函数的使用需要引用time.h头文件

下面写一个猜数字的小游戏,这些知识点就都能运用到了。

/   写一个猜数字游戏
/ 1、自动产生一个1-100之间的随机数
/ 2、 猜数字
    a.猜对了,就恭喜你,游戏结束。
    b.你猜错了,会告诉你猜大了,还是猜小了,直到猜对
 3、游戏一直玩,除非退出游戏。

 

/   写一个猜数字游戏
/ 1、自动产生一个1-100之间的随机数
/ 2、 猜数字
     a.猜对了,就恭喜你,游戏结束。
     b.你猜错了,会告诉你猜大了,还是猜小了,直到猜对
  3、游戏一直玩,除非退出游戏。

#include"stdio.h"
#include"stdlib.h"
#include"time.h"

int input = 0;

void menu() {
	printf("****************************************\n");
	printf("************* 1. 开始     **************\n");
	printf("************* 0. 退出     **************\n");
	printf("****************************************\n");
}

void cai(c, r) {
	if (c > r) {
		printf("你猜大了?\n");
	}
	else if (c < r) {
		printf("你猜小了?\n");
	}
	else {
		printf("恭喜你!猜对了!\n");
		input = 0;
	}
}

//  猜数字游戏的实现
void game() {
	
	//1、生成一个随机数
	
	int r = rand()%100 + 1;              //  rand()的结果是个5位数,所以除以100取余 就能得到 0-99   加1后就是一个 1-100的数了。
	                                     // 任何一个数模100都能得到一个1-99的数
	int c = 0;
	do{
		//2、猜数字进行判断
		printf("请猜我心里想的数字是多少吧?\n");
			
		scanf("%d", &c);
		cai(c, r);
	} while (c != r);
		
	


}

int main() {
	srand((unsigned int)time(NULL));  //  设置随机数的起始值为强制转换成整型的时间戳     设置起始值必须在调用随机数之前
	do {
		menu();
		printf("请输入你的选择:");
		scanf("%d", &input);


		switch (input) {
		case 1:{
			//printf("开始玩游戏!\n");
			game();
			break;
			}
		case 0:{
			printf("退出游戏!\n");
			break;
			}
		default: {
			printf("选择错误\n");
			break;
		
		}

		}

	} while (input);

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尚久龙

你的鼓励是我最大的动力!谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值