首页 > 其他分享 >猜数字

猜数字

时间:2024-11-24 16:11:35浏览次数:2  
标签:数字 int ++ maxn 序列 猜测

实现一个猜数字游戏程序。程序首先读取一个整数 n(表示接下来要处理的数字序列的长度,且 n 满足一定范围限制,可能是小于等于 maxn),然后读取一组长度为 n 的整数序列作为预设的数字序列。之后进入循环,每次循环读取一组同样长度为 n 的用户猜测的数字序列,根据以下规则给出猜测结果反馈:
如果用户猜测的数字与预设数字在相同位置且数值相同,记为完全猜对,统计完全猜对的数字个数记为 A。
对于数字 1 到 9,分别统计在预设数字序列和用户猜测数字序列中每个数字出现的次数,取两者中较小的次数累加起来,得到猜对数字但位置不对的数字个数记为 B。
输出本次猜测的结果,格式为 (A, A - B),其中 A 是完全猜对的数字个数,A - B 是位置猜对但数字本身不对的数字个数。
当用户猜测的数字序列的第一个数字为 0 时,结束当前轮次的猜数字游戏流程,若还有下一轮次(即再次成功读取到新的 n 且 n 不为 0),则进入下一轮次的游戏。

#include<iostream>
using namespace std;

#define maxn 1100
int main()
{
	int n, a[maxn], b[maxn];
	int kase = 0;
	while (scanf_s("%d", &n) == 1 && n)//输入的n必须是非零整数才能进入循环
	{
		printf("Game %d:\n",++kase);
		for (int i = 0; i < n; i++) scanf_s("%d", &a[i]);
		for (;;)//无限循环,靠break或continue跳出循环
		{
			int A = 0, B = 0;
			for (int i = 0; i < n; i++)
			{
				scanf_s("%d",&b[i]);
				if (a[i] == b[i]) A++;//位置和数值均相等,A+1
			}
			if (b[0] == 0)break;
			for (int d = 1; d <= 9; d++)
			{
				int c1 = 0, c2 = 0;
				for (int i = 0; i < n; i++)

				{
					if (a[i] == d)c1++;
					if (b[i] == d)c2++;
				}
				if (c1 < c2) B += c1;
				else B += c2;
			}//为了确定猜对数字但位置不对的数字个数
			printf("(%d,%d)\n",A,A-B);
		}
	}
		return 0;
}

标签:数字,int,++,maxn,序列,猜测
From: https://www.cnblogs.com/xuzhenxuexi/p/18565905

相关文章

  • node.js毕设事业单位人事档案数字化管理平台与实现(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于事业单位人事档案数字化管理平台的研究,现有研究多聚焦于整体人事档案管理的数字化转型,如管理流程的信息化等方面。专门针对具有员工、工资与福利、......
  • 扫盲:元宇宙和数字孪生到底有何联系,是不是一回事?
    一、数字孪生是什么数字孪生是一种充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程的技术。一、主要特点精准映射数字孪生能够对物理实体进行高保真度的数......
  • 《数字信号处理》如何合理选择FFT的采样率、采样点数,实现更精确的频谱计算
    《数字信号处理》如何合理选择FFT的采样率、采样点数,实现更精确的频谱计算一、前言1.1、知识前提1.2、概念简单介绍(1)频谱混叠:(2)截断效应:(3)栅栏效应:二、举例介绍问题描述Step1Step2Step3Step4三、注意点FFT精度问题一、前言1.1、知识前提为了不影响阅读,在看这篇博......
  • Zlibrary最新镜像网址,全球最大数字图书馆已恢复
    zlibrary网站距离上次被美国执法机构端掉,已经过去了好几个月。近期Zlibrary的镜像站点终于恢复正常!无需任何工具,可直接访问。目前图书藏量已经达到了11948431本,我试着搜一些冷门小说也是可以搜到,真正的镜像网站!!zlibrary电脑客户端/安卓appzlibrary(windows/mac/安卓)客户端:ht......
  • Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行
    第一步:下载TesseractOCR引擎安装包访问Tesseract的GitHub发布页面(https://github.com/tesseract-ocr/tesseract)或第三方下载站点(https://digi.bib.uni-mannheim.de/tesseract/),下载适合你操作系统的版本(最新版本)。推荐使用第三方下载:第二步:详细阐述一下第三方下载的安装过程......
  • 基于51单片机数字频率计的设计
    基于51单片机数字频率计(仿真+程序+原理图+PCB+设计报告)功能介绍具体功能:1.用74HC08和74HC393处理输入频率信号;2.LCD1602显示频率和周期;3.按键可以切换显示Vpp;​演示视频:基于51单片机频率计仿真—LCD1602 添加图片注释,不超过140字(可选)程序#include<reg51.h>......
  • Spring Boot OA:企业数字化转型的利器
    3系统分析3.1可行性分析通过对本企业OA管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本企业OA管理系统采用SSM框架,JAVA作为开发语言,是基于WEB平台的B/S架构......
  • GB/T 4208-2017 外壳防护等级(IP代码)(3)—特征数字和标志
    写在前面本系列文章主要讲解外壳防护等级GB/T4208标准的相关知识,希望能帮助更多的同学认识和了解GB/T4208标准。若有相关问题,欢迎评论沟通,共同进步。(*^▽^*)外壳防护等级6.第二位特征数字第二位特征数字表示外壳防止由于进水而对设备造成有害影响的防护等级。第二位......
  • C51数字时钟/日历---LCD1602液晶显示屏
    题目要求:数字电子日历/时钟设计设计一个基于MCS51的电子日历和时钟。基本要求(1)可通过按键在日历和时间之间切换显示;(2)可由按键调整日期和时间(3)可整点报时(“嘟、嘟”声)(4)可设定时,定时时间到发出“嘟、嘟”声(5)具有秒表功能课程设计电路图:该课程设计采用ATMEL公......
  • 【往届知网均已检索】第三届数字化经济与管理科学国际学术会议(CDEMS 2025)
    会议亮点:1.知网检索稳定:AEBMR-AdvancesinEconomics,BusinessandManagementResearch(ISSN:2352-5428)出版2.参会人数多,口头报告和海报展示均提供正式的参会证书3.线下参会包含三餐,茶歇、会议物料:定制手提袋、会议手册、会议通知、会议日程、会议邀请函4.举办地......