C语言学习——猜数字游戏

一、游戏规则

猜数字游戏,随机出0-100的一个数

  • a.猜对了,恭喜你,游戏结束 
  • b.猜错了,会告诉猜大了,还是猜小了,继续猜,直到猜对为止

游戏可以继续玩,除非是不想玩了

二、函数

rand() 函数:是C语言中用于生成伪随机整数的函数。要使用 rand(),首先需要调用 srand(seed) 函数来设置伪随机数生成器的种子,其中 seed 是一个整数值。通常情况下,可以使用 time(NULL) 来作为种子,以确保每次运行程序都有不同的种子,从而产生不同的随机数序列。

(unsigned int) 强制类型转换: time(NULL) 返回的时间戳通常是 time_t 类型,但是 srand 函数接受的是 unsigned int 类型的参数。这里进行了类型转换,将 time_t 转换为 unsigned int

game()函数:主要是生成随机数和用户输入随机数。

menu()函数:菜单,供用户选择。

三、代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
 void menu() {
	 printf("#########################\n");
	 printf("#######   1.play   ######\n");
	 printf("#######   0.exit   ######\n");
	 printf("#########################\n");
}
 void game() {
	 int res = rand() % 100 + 1;//范围控制在0-100
	// printf("%d\n", res);
	 int guess = 0;
	 while (1) {
		 printf("请输入一个数字>");
		 scanf("%d", &guess);
		 if (guess < res) {
			 printf("猜小了");
		 }
		 else  if (guess > res) {
			 printf("猜大了");
		 }
		 else  if (guess = res) {
			 printf("恭喜你,猜中了\n");
			 break;
		 }
	 }
 }
int main() {
	int input = 0;
	srand((unsigned int)time(NULL));
	do {
		menu();
		printf("请选择:>");
			scanf("%d", &input);
			switch (input) {
			case 0:printf("退出游戏\n");
				break;
			case 1:printf("开始游戏\n");
				game();
				break;
			default:printf("输入错误,请重新输入");
				break;
			}

	} while (input);
	return 0;
}

四、效果图

注意:srand调用多次则生成的数不够随机,所以给放到主函数里面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值