猜数字游戏 与随机数生成方法指南

猜数字游戏

内容

系统随机给出一个数字,通过猜大了 猜小了 来确定

代码实现

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void play() //代码实现函数 
{
	int rat = rand();
	int i = 0;
	do {
		
		scanf("%d", &i);
		printf("%d", rat);
		if (i > rat) 
		{
			printf("猜数字猜大了");
		}
		if (i < rat)
		{
			printf("猜数字猜小了");
		}
		if (i == rat)
		{
			printf("正确");
			break;
		}
	} while (1);
}
void menu() //菜单函数
{
	printf("1.paly\n");
	printf("0.exit\n");
}
int main()
{
	int input = 0;
	do 
	{
		srand((unsigned int)time(NULL));//随机数设置 随机数  种子函数time
		menu();  //随机数产生 函数
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			play();
				break;
		case 0:
			break;

		default:
			printf("no");
			break;
		}
	} while (input);
	

	

	return 0;
}

随机数生成攻略

随机函数类型

随机函数有 srand设置种子函数 rand输出随机数

方法

1 先给srand 一个种子 如时间函数 srand((unsigned int )time(NULL)) 因为每次运行程序的时间是不一样的
2 如何产生范围内的随机数?
假设产生从X到Y的随机数 那么X到Y有y-x+1个数
k=rand()%(y-x+1)+x

实现代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	srand((unsigned int)time(NULL));//随机数设置 随机数  种子函数time
	int rat = rand()%100+1;
	printf("%d", rat);
	

		
	return 0;

总结

1 范围确定 %k往后多少个数+k
2 需要使用时间戳函数还充当种子
3 random函数已经过时
4 最好吧时间戳放在程序开始的位置

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值