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

猜数字游戏

内容

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

代码实现

#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 最好吧时间戳放在程序开始的位置

猜你喜欢

转载自blog.csdn.net/qq_45849625/article/details/112971012