生成随机数的游戏

通过代码生成一个随机数,输入一个数猜这个随机数。这里我们需要用到rand函数和time时间戳。而事实上rand生成的随机数并不是随机的,而是通过算法生成的,rand有一个种子可以通过srand来确定,这里我们通过时间戳来改变。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void hh()//子函数用来打印,让主函数更加简洁
{
	printf("****************\n");
	printf("**** 1.play ****\n");
	printf("**** 0.exit ****\n");
	printf("****************\n");
}
void game()
{
	int b;
	int ret = rand() % 100 + 1;//设置1到100的随机数
	
	for (int a = 1; a <= 5; a++)
	{
		scanf("%d", &b);
		if (ret == b)
		{
			printf("答案正确\n"); break;
		}
		else if (ret > b)
		{
			printf("小了\n");
		}
		else if (b > ret)
		{
			printf("大了\n");
		}
		if (a == 5&&a!=ret)//最多猜五次
		{
			printf("你输了\n");
			printf("%d\n", ret);//若五次都未猜出则输出答案
		}
	}
	
}
int main()
{
	int i = 0;
	srand((unsigned int)time(NULL));//通过时间戳改变种子
	do//直接进入循环执行hh()
	{
		hh();
		scanf("%d", &i);
		if (i == 1)//判断是否进入游戏
			game();//子函数用来写随机数游戏的部分
		else if(i > 1)
		printf("输入错误\n");
	} while (i>0);
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值