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

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

相关推荐
Escalating_xu16 分钟前
【C 语言项目】数组和函数综合实践:从零实现控制台扫雷游戏
c语言
weixin_307779131 小时前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab
2601_966949651 小时前
为什么量化回测中 for 循环比 DataFrame 慢三个数量级?从向量化原理讲起
开发语言·python·pandas·股票数据·quantdash
边境悍匪3 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring
我的xiaodoujiao3 小时前
Django 基础知识详细图文教程 9-Django 模板引擎 2
开发语言·数据库·后端·django
菜鸟~noob2333 小时前
【太空电子战】从CCS到Meadowlands:反通信系统的二十年演进史【含matlab代码】
开发语言·matlab
quantdash_cc4 小时前
量化策略为什么需要实时行情数据?从信号产生到交易决策的时间差说起
开发语言·python·数据分析·量化交易·股票数据·quantdash
Navigator_Z4 小时前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode
Logic1014 小时前
C语言/数据结构滑动窗口题解:替换k个字符后的最长连续相同字符子串(LeetCode 424)
c语言·数据结构·字符串·滑动窗口·时间复杂度·频率统计·算法题
逆向编程5 小时前
QGIS地图投影(CRS坐标参照系)设置
开发语言