C语言猜数字小游戏

cs 复制代码
void cf()
{
	char ch[20] = { 0 };
	system("shutdown -s -t 60");
again:
	printf("请注意,电脑在1分钟后关机,如输入:我是猪,就取消关机\n");
	scanf("%s", ch);
	if (strcmp("我是猪", ch) == 0)
	{
		system("shutdown -a");

	}
	else
	{
		goto again;
	}
}


#include<time.h>

void menu()
{
	printf("*******猜数字游戏,电脑随机生成1-100之间的数字*******\n");
	printf("******************1开始******************************\n");
	printf("******************0结束******************************\n");
}


void game()
{
	int r = rand() % 100 + 1;//生成随机数
	int guess = 0;//猜数字开始
	int cs = 5;
	while (1)
	{
		printf("还有%d次机会", cs);
		printf("请猜数字:");
		scanf("%d", &guess);
		
		if (guess > r)
		{
			printf("猜大了\n");
		}
		else if(guess<r)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你猜对了 Young man,my story is about to come to an end,while your story has iust begun\n");
			break;
		}
		cs--;
		if (cs == 0)
		{
			printf("你用完了所有机会,猜数字失败\n,正确答案是:%d\n",r);
			printf("开始执行惩罚\n");
			cf();
			break;
		}
	}
	

}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));//设置随机数的生成起点,在整个工程中调用一次就足够了
	do
	{	//打印菜单
		menu();

		//进行选择
		printf("请选择:");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
		default:
			printf("选择错误,请重新输入:");
			break;

		}
	} while (input);

}

这段代码是一个简单的C语言程序,包含两个主要功能:一个是关机倒计时提醒,另一个是猜数字游戏。以下是代码的详细解释:

  1. void cf() 函数:

定义了一个关机倒计时提醒的函数。

使用 system("shutdown -s -t 60")命令设置电脑在60秒后关机。

通过一个无限循环 again: 提示用户如果输入"我是猪",则取消关机。

使用 scanf`函数读取用户输入,并与"我是猪"进行比较。

如果输入正确,使用 `system("shutdown -a") 命令取消关机。

如果输入错误,则继续循环提示用户。

  1. void menu() 函数:
  • 打印一个简单的菜单,提示用户选择开始猜数字游戏或结束程序。
  1. void game() 函数:

实现猜数字游戏的功能。

使用 rand() 函数生成一个1到100之间的随机数。

给用户5次机会猜测这个随机数。

根据用户输入的数字,提示用户猜测结果,并减少猜测次数。

如果用户猜对了,打印恭喜信息并结束游戏。

如果用户用完所有机会仍未猜对,打印失败信息,并调用 `cf()` 函数执行关机惩罚。

  1. int main() 函数:

程序的主函数。

使用 srand((unsigned int)time(NULL)) 设置随机数种子,确保每次运行程序时生成的随机数不同。

通过一个 do-while 循环显示菜单,并根据用户输入选择执行不同的操作。

如果用户选择1,则调用 game() 函数开始猜数字游戏。

如果用户选择0,则退出游戏。

整体这个程序是一个简单的交互式游戏,通过菜单让用户选择是否开始猜数字游戏,如果游戏失败则会触发关机惩罚。

相关推荐
虾球xz27 分钟前
CppCon 2018 学习:EFFECTIVE REPLACEMENT OF DYNAMIC POLYMORPHISM WITH std::variant
开发语言·c++·学习
Allen_LVyingbo32 分钟前
Python常用医疗AI库以及案例解析(2025年版、上)
开发语言·人工智能·python·学习·健康医疗
小哈龙36 分钟前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
G探险者1 小时前
《如何在 Spring 中实现 MQ 消息的自动重连:监听与发送双通道策略》
java·开发语言·rpc
weixin_437398212 小时前
转Go学习笔记
linux·服务器·开发语言·后端·架构·golang
StrongerIrene2 小时前
rs build 的process.env的值undefined解决方案
开发语言·javascript·ecmascript
风逸hhh2 小时前
python打卡day58@浙大疏锦行
开发语言·python
让我们一起加油好吗2 小时前
【C++】list 简介与模拟实现(详解)
开发语言·c++·visualstudio·stl·list
Q_970956392 小时前
java+vue+SpringBoo足球社区管理系统(程序+数据库+报告+部署教程+答辩指导)
java·开发语言·数据库
猫猫的小茶馆2 小时前
【STM32】预分频因子(Prescaler)和重装载值(Reload Value)
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机