清数字游戏.程序产生一个四位数随机整数,这个四位数各个数码均不相同,你能猜出这个数是多少吗?。规则如下: 1-如果你猜中一位数字但位置不正确,则显示一个-· 2.如果你清中一位数字且位置也正确,则显示一个+如:假如原数为1689.你猜的数为3694.则显示--- 3.你只有十次机会,努力吧少年 每输入一次会显示还剩下多少次数 当一局玩完后输入Y可以开启新的一局,输入N则直接结束游戏 按任意進开始游戏:用C++表示

时间: 2023-06-20 20:06:04 浏览: 41
好的,这是一个猜数字的游戏,以下是用 C++ 实现的代码: ```cpp #include <iostream> #include <cstdlib> #include <ctime> #include <string> using namespace std; int main() { // 随机生成一个四位数的整数 srand(time(nullptr)); int randomNumber = rand() % 9000 + 1000; string randomString = to_string(randomNumber); // 判断这个四位数的每一位是否都不相同 while (randomString[0] == randomString[1] || randomString[0] == randomString[2] || randomString[0] == randomString[3] || randomString[1] == randomString[2] || randomString[1] == randomString[3] || randomString[2] == randomString[3]) { randomNumber = rand() % 9000 + 1000; randomString = to_string(randomNumber); } int guessCount = 0; bool gameOver = false; // 开始游戏 while (!gameOver) { // 让玩家输入猜测的数字 cout << "请输入一个四位数的整数,每位数字都不相同(剩余次数:" << 10 - guessCount << "):"; string guessString; cin >> guessString; // 判断猜测的数字是否合法 if (guessString.length() != 4) { cout << "您输入的数字不是四位数,请重新输入!" << endl; continue; } if (guessString[0] == guessString[1] || guessString[0] == guessString[2] || guessString[0] == guessString[3] || guessString[1] == guessString[2] || guessString[1] == guessString[3] || guessString[2] == guessString[3]) { cout << "您输入的数字有重复的数字,请重新输入!" << endl; continue; } // 对猜测的数字进行判断 int correctCount = 0; int rightPositionCount = 0; for (int i = 0; i < 4; i++) { if (guessString[i] == randomString[i]) { rightPositionCount++; } else if (randomString.find(guessString[i]) != string::npos) { correctCount++; } } // 输出判断结果 if (rightPositionCount == 4) { cout << "恭喜您猜对了!" << endl; gameOver = true; } else { cout << "您猜测的数字中:" << endl; cout << rightPositionCount << " 个数字的位置正确," << endl; cout << correctCount << " 个数字的位置不正确。" << endl; guessCount++; if (guessCount >= 10) { cout << "很遗憾,您没有在规定次数内猜对,正确答案是:" << randomString << endl; gameOver = true; } } } // 询问是否开始新游戏 char choice; while (true) { cout << "是否开始新的一局游戏?(Y/N):"; cin >> choice; if (choice == 'Y' || choice == 'y') { main(); break; } else if (choice == 'N' || choice == 'n') { cout << "感谢您的游戏,再见!" << endl; break; } else { cout << "您的输入不正确,请重新输入!" << endl; } } return 0; } ``` 这个程序首先会随机生成一个四位数的整数,并且每一位数字都不相同。然后程序会让玩家输入猜测的数字,如果输入的数字不合法(不是四位数或者有重复的数字),程序会提示玩家重新输入。如果输入的数字合法,程序会对猜测的数字进行判断,并输出判断结果。如果猜测的数字与随机生成的数字完全相同,游戏胜利结束;如果猜测的数字与随机生成的数字不同,程序会提示玩家还剩下多少次机会,并让玩家继续猜测。如果玩家猜测的次数达到 10 次,游戏失败结束。 当一局游戏结束后,程序会询问玩家是否开始新的一局游戏。如果玩家选择开始新的一局游戏,程序会重新开始游戏;如果玩家选择结束游戏,程序会输出感谢信息并退出。

相关推荐

最新推荐

recommend-type

循环结构相关练习题C语言

随机产生1个1-100之间的数 让用户猜 当用户输入的数比产生的随机数大 就输出 猜大了 并让用户继续输入新的数.。 当用户输入的比产生的随机数小的时候 就输出 猜小了 并且继续猜 当用户刚好输入的就是这个随机数...
recommend-type

软件课程设计 试验报告 代码 演示

本题主要是要求设计一个程序,让用户输入正整数m ,它代表一个人民币钱数(元数),由程序计算一个最有方法,使人民币纸币的张数最少,并凑成上述的钱数m 。 ///////////////////////////////////////////// 程序...
recommend-type

基于三层感知机实现手写数字识别-内含源码和说明书.zip

基于三层感知机实现手写数字识别-内含源码和说明书.zip
recommend-type

setuptools-40.7.0.zip

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

搭建VGG16神经网络实现图像分类-内含源码和说明书.zip

搭建VGG16神经网络实现图像分类-内含源码和说明书.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。