#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_TRIES 10
#define SECRET_NUMBER_RANGE 100
void printMenu();
int getRandomNumber();
int getUserGuess();
void playGame();
int main() {
int choice;
do {
printMenu();
printf("请输入您的选择(1-3): ");
scanf("%d", &choice);
switch (choice) {
case 1:
playGame();
break;
case 2:
printf("退出游戏。\n");
break;
default:
printf("无效的选择,请重新输入。\n");
break;
}
} while (choice != 2);
return 0;
}
void printMenu() {
printf("\n------------- 猜数字小游戏 -------------\n");
printf("1. 开始游戏\n");
printf("2. 退出游戏\n");
printf("----------------------------------------\n");
}
int getRandomNumber() {
srand(time(NULL)); // 使用当前时间作为随机数种子
return rand() % SECRET_NUMBER_RANGE + 1; // 生成1到SECRET_NUMBER_RANGE之间的随机数
}
int getUserGuess() {
int guess;
do {
printf("请输入您的猜测(1-%d): ", SECRET_NUMBER_RANGE);
if (scanf("%d", &guess) != 1 || guess < 1 || guess > SECRET_NUMBER_RANGE) {
printf("无效的输入,请重新输入。\n");
while (getchar() != '\n'); // 清除输入缓冲区中的剩余字符
}
} while (guess < 1 || guess > SECRET_NUMBER_RANGE);
return guess;
}
void playGame() {
int secretNumber = getRandomNumber();
int userGuess;
int tries = 0;
printf("欢迎来到猜数字小游戏!\n");
printf("我已经想好了一个1到%d之间的数字,你能猜到吗?\n", SECRET_NUMBER_RANGE);
do {
userGuess = getUserGuess();
tries++;
if (userGuess == secretNumber) {
printf("恭喜你,你猜对了!用了%d次尝试。\n", tries);
} else if (userGuess < secretNumber) {
printf("太小了,再试一次。\n");
} else {
printf("太大了,再试一次。\n");
}
} while (userGuess != secretNumber && tries < MAX_TRIES);
if (tries == MAX_TRIES) {
printf("很遗憾,你没有猜对。正确的数字是%d。\n", secretNumber);
}
}
I'mAlex
- 粉丝: 23w+
- 资源: 50
最新资源
- json-c-doc-0.11-4.el7-0.x64-86.rpm.tar.gz
- 基于储能电站服务的冷热电多微网系统双层优化配置策略仿真研究(MATLAB+CPLEX实现),MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化配置 关键词:储能电站 共享储能电站 冷热电多微
- json-glib-1.4.2-2.el7.x64-86.rpm.tar.gz
- json-glib-devel-1.4.2-2.el7.x64-86.rpm.tar.gz
- Matlab复现的综合能源系统优化调度策略:结合需求响应与阶梯型碳交易机制的研究,matlab复现,考虑综合需求响应和阶梯型碳交易机制的综合能源系统优化调度策略 关键词,综合能源系统,碳交易机制,综
- json-glib-tests-1.4.2-2.el7.x64-86.rpm.tar.gz
- DBC文件导入MATLAB快速生成C代码:一站式CAN协议解析与模型开发工具,DBC文件生成MATLAB模型生成C代码CAN协议解析 DBC文件生成MATLAB模型生成C代码CAN协议解析 直接可以
- jsoup-1.6.1-10.el7.x64-86.rpm.tar.gz
- 基于源荷双重不确定性虚拟电厂微网日前随机优化调度策略研究:蒙特卡洛场景生成与快速概率距离削减仿真,MATLAB代码:计及源-荷双重不确定性的电厂 微网日前随机优化调度 关键词:电厂 微网 随机优化 随
- jsoup-javadoc-1.6.1-10.el7.x64-86.rpm.tar.gz
- "电动汽车负荷随机性下的蓄电池容量优化配置策略:考虑并网波动性与多时间尺度求解",MATLAB代码:考虑电动汽车负荷随机性的蓄电池容量优化配置 关键词:蓄电池容量优化配置 储能优化配置 中长期配置
- jsr-305-0-0.18.20090319svn.el7.x64-86.rpm.tar.gz
- jsr-305-javadoc-0-0.18.20090319svn.el7.x64-86.rpm.tar.gz
- 图书管理系统JavaWeb项目全套资源:源码、数据库、文档及多功能管理(读者、管理员、超级管理员操作) ,图书管理系统项目javaweb项目 包含源码+数据库+文档(含摘要、类图) 主要功能
- 需求分析说明书-裴瑞雪-停车场车位管理系统的设计与实现.docx
- jsr-311-1.1.1-6.el7.x64-86.rpm.tar.gz
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈