猜数字游戏

本文详细介绍了一个使用C语言编写的猜数字游戏的实现过程,包括游戏的基本逻辑、随机数生成及用户交互等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写一个猜数字游戏

1、自动产生一个1---100之间的随机数

2、猜数字 a、猜对了,就恭喜你,游戏结束

                 b、猜错了,会告诉你猜大了或猜小了,继续猜,直到猜对了为止

3、游戏一直玩,除非退出游戏。

自己的写法
void menu()
{
	printf("1.play\n");
	printf("0.exit\n");
}
int main()
{
	menu();//打印菜单
	printf("请输入数字\n");
	int input = 0;

	while (1)
	{
		scanf("%d", &input);
		if (input == 1)
		{
			printf("玩游戏\n");
		}
		else if (input == 0)
		{
			printf("退出游戏\n");
				break;
		}
		else
		{
			printf("输入错误\n");
		}
	 
	}
	return 0;
 }

课上的写法
void menu()
{
	printf("1.play\n");
	printf("0.exit\n");
}
int main()
{
    int input = 0;

	do{
        menu();//打印菜单
	    printf("请输入数字\n");
        switch(input)
        {
        case 1;
			printf("玩游戏\n");  
            break;           
        case 0;
			printf("退出游戏\n");
            break;
        default;
			printf("输入错误\n"); 
            break;
        }       
      }while(input);
//如果输入是0,0为假,则跳出该循环;如果选1,则进入游戏,结束后可以再进入循环选择是否玩游戏
	 
	}
	return 0;
 }

猜数字---生成随机数

头文件:
#include <time.h>
#include <stdlib.h>



void game()
{
	int ret = rand() % 100 + 1;//%100的余数是0--99,然后+1,范围就是1---100
	printf("%d\n", ret);//到时要删除
}


srand((unsigned int)time(NULL));放到main函数中

game();与printf("玩游戏\n");互换
猜数字的过程
int guess = 0;
	while (1)
	{
		printf("请输入数字\n");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你\n");
			break;
		}
	}
//最终的代码
void game()
{
	int ret = rand() % 100 + 1;
	//printf("%d\n", ret);
	int guess = 0;


	while (1)
	{
		printf("请输入数字\n");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你\n");
			break;
		}
	}
}

void menu()
{
	printf("1.play\n");
	printf("0.exit\n");
}
int main()
{
	menu();
	int input = 0;
	srand((unsigned int)time(NULL));
	while (1)
	{
		scanf("%d", &input);
		if (input == 1)
		{
			game();
		}
		else if (input == 0)
		{
			printf("退出游戏\n");
				break;
		}
		else
		{
			printf("输入了错误\n");
		}
	 
	}
	return 0;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值