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,则退出游戏。

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

相关推荐
WANGWUSAN666 分钟前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
forNoWhat14 分钟前
java小知识点:比较器
java·开发语言
坐井观老天20 分钟前
在C#中使用资源保存图像和文本和其他数据并在运行时加载
开发语言·c#
代码中の快捷键27 分钟前
java开发面试有2年经验
java·开发语言·面试
Marzlam28 分钟前
sql server索引优化语句
开发语言·数据库
谢家小布柔33 分钟前
Java 中的字符串
java·开发语言
码老白33 分钟前
【老白学 Java】HashSet 应用 - 卡拉 OK(五)
java·开发语言
Code out the future1 小时前
【C++——临时对象,const T&】
开发语言·c++
Stark、1 小时前
【Linux】文件IO--fcntl/lseek/阻塞与非阻塞/文件偏移
linux·运维·服务器·c语言·后端
taoyong0011 小时前
Java线程核心01-中断线程的理论原理
java·开发语言