(数学实验)Matlab实现猜数小游戏(增加了错误输入的判断)

刚开始做的时候不知道matlab没有自减运算,在网上查了很久资料,都没发现有对猜数游戏加错误输入判断的,经过多次试错,我弄出来了有判断的程序,在这里分享一下。

文章目录

  • 前言
  • 一、问题描述
  • 二、解题思路
    • 1.for循环
    • 2.while循环
    • 3.C语言实现
  • 总结

前言

Matlab写猜数程序主要考察学习者考虑问题的严密性和多分支结构,这个题目增加了错误输入的判断,也就是输入不在范围内的数,不计一次。要注意Matlab没有自增、自减操作,所以在循环时要考虑是选择for循环还是while循环。


一、问题描述

首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随机数。

根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示 “Low”,等于则显示 “You won”,同时退出游戏。用户最多可以猜7次。如输入非[1,100]之间的数则要求用户重输,不计为一次。猜完7次还没猜对的,请提示“次数用尽”。

二、解题思路

1.for循环

代码如下(示例):

magic = randperm(100,1);%电脑随机产生[1-100]的整数
num=1; %用户猜的次数,初始化为1
sign = 1; %定义一个标识变量,后续当猜对时更改它的值,跳出循环
for i = 1:7guess = input('Please input a number: '); if guess < magic  %猜得太小disp('Low') ;elseif guess > magic  %猜得太大disp('High');elseif guess == magic  %猜对了disp('You won!');sign = 0;  %改变sign变量的值,并跳出循环break;end
end
if sign == 1  %猜了7次还没猜对,结束游戏disp('次数用尽!'); 
end
 

目前题目完成90%,还有错误输入未完成,(这里大家可以尝试一下把错误输入的判断加进去,但执行的时候并不能实现。)因为在for循环里面更改变量的值不能传到大的循环范围去,经过多次试错,我想到了可以改用while循环进行操作。

2.while循环

代码如下(示例):

magic = randperm(100,1);%电脑随机产生[1-100]的整数
num=1; %用户猜的次数,初始化为1
sign = 1; %定义一个标识变量,后续当猜对时更改它的值,跳出循环
while num <= 7guess = input('Please input a number: '); if guess < 1 || guess > 100   %处理错误输入数据,输入不在范围内的数,num值不增加disp('错误输入,请重猜一次!');continue;end    %注意这里要让if条件终止,否则错误输入的数也会被判断是否猜对if guess < magic  %猜得太小disp('Low') ;num = num + 1;elseif guess > magic  %猜得太大disp('High');num = num + 1;elseif guess == magic  %猜对了disp('You won!');sign = 0;  %改变sign变量的值,并跳出循环break;end
end
if sign == 1  %猜了7次还没猜对,结束游戏disp('次数用尽!'); 
end
 

这里在while循环里面添加了一个if条件语句,实现了错误输入的判断。

 

3.C语言实现

代码如下(示例):

#include<stdio.h>
int main()
{int magic=rand()%100+1;int guess;int num;int sign = 1;for(num=1;num<8;num++){printf("Please input a number:");scanf("%d",&guess);if(guess < 1 || guess > 100){printf("错误输入,请重猜一个数:\n");num--;continue;}if(guess > magic){printf("High\n");continue;}if(guess < magic){printf("Low\n");continue;}if(guess == magic)printf("You won\n");sign = 0;break;}if(sign == 1)printf("次数用尽");return 0;
}

 

 

 C语言中用自减就能实现,很简单。

总结

以上就是猜数游戏解题思路,虽然花了很长时间才解决错误输入判断的写法,但过程中我也学到了很多,也希望能解决其他有此问题的人的疑问。学如逆水行舟,不进则退,我会多敲代码,熟练技艺。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63017.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Python为二年级的学生批量生成数学题

文章目录 一.使用Python为二年级的学生批量生成数学题1.1 背景 二.解决思路及其代码三.排版及其打印四.本文源码 一.使用Python为二年级的学生批量生成数学题 1.1 背景 我妹妹今年上二年级&#xff0c;她的老师今天给他们布置了一项作业&#xff1a; 从今天起到开学&#xff…

Fdog系列(一):思来想去,不如写一个聊天软件,那就从仿QQ注册页面开始吧。

文章目录 一.前言1. 基础布局2. 自动切换图片3. 添加内容4. 自动缩放&#xff0c;控件的显示和隐藏5.响应用户输入操作 所有文章源码已整体打包上传至github&#xff0c;求星星&#xff01; 一.前言 两年的大学生活马上就要结束了&#xff0c;马上面临实习&#xff0c;突然心…

基于Python的网络拓扑图绘制

最近写论文画了许多图&#xff0c;在这里记录一些。当然&#xff0c;如果仅仅是展示性图片的话也可以使用visio&#xff0c;但是这里我仍然想探究一下如何使用pyhon画出美观的网络拓扑图。 一、画出网络拓扑图 给出邻接矩阵&#xff0c;画出网络的拓扑图&#xff1a; import…

认识网络、几种常用的网络拓扑图

交换协议&#xff1a; VLAN技术&#xff1a;虚拟局域网 STP技术&#xff1a;生成树协议 VRRP技术&#xff1a;虚拟路由冗余协议 VPN&#xff1a;虚拟专用网络 名词解释 路由协议&#xff1a;http、HTTPS、tcp、ip 静态路由配置 OSPF协议 RIP协议 ACL访问控制 什么是网络&…

快速读懂网络拓扑图

快速读懂网络拓扑图 几重常见的网络拓扑总线型拓扑简介优点缺点 环型拓扑简介优点缺点 星型拓扑简介优点缺点 网络层级机构节点结点链路通路 不同的连接线代表什么意思&#xff1f;不同颜色、粗细的直线代表什么意思&#xff1f;闪电线-串行链路 几重常见的网络拓扑 总线型拓扑…

盘点5款常用的网络拓扑图制作工具

网络拓扑能直观明了的展示网络中各网元之间的关系&#xff0c;极大方便运维人员对网络进行优化配置、故障排查等操作。那么这个专业性比较强的拓扑图&#xff0c;要用什么工具把它轻松&#xff0c;简便的画出来呢&#xff1f;现对市场5款主流的拓扑制作软件进行介绍&#xff1a…

网络拓扑图怎么画 详细教程

大数据时代&#xff0c;如何更好地去运营、呈现数据&#xff0c;并从其中发掘出更多信息成为了人们探索的方向。网络拓扑图就是一种非常有用的信息化图表&#xff0c;这种网状关系呈现出来的利器可以使我们把想要传递的信息更加清晰、有逻辑的呈现在别人的眼前。 1. 什么是网络…

网络拓扑图

转载自&#xff1a;https://blog.csdn.net/weixin_40792878/article/details/82555594 什么是拓扑结构?   首先我们来解释一下拓扑的含义&#xff0c;所谓“拓扑”就是把实体抽象成与其大小、形状无关的“点”&#xff0c;而把连接实体的线路抽象成“线”&#xff0c;进而…

【新手】网络拓扑图要这样画

网络拓扑设计分为单核心和双核心两种 1. 单核心网络拓扑设计&#xff08;如图&#xff09; &#xff08;上图写的是路由器连接外网&#xff0c;也可以连接公司别的分支机构&#xff0c;比如现在是上海分公司&#xff0c;也可以用路由器和北京分公司相连&#xff0c;当然要借助…

关于网络拓扑图,你想知道的都在这

这篇文章&#xff0c;我将集中回答以下这四个问题&#xff1a; 网络拓扑图的定义网络拓扑图的分类网络拓扑图的设计规范网络拓扑图的绘制步骤 一、网络拓扑图的定义 在认识网络拓扑图前&#xff0c;我们先来了解下网络拓扑结构。 所谓网络拓扑结构&#xff0c;是指用传输媒…

作为程序员, 我如何使用ChatGPT来帮我写代码

从快速学习到调试程序&#xff0c; 甚至将繁琐的工作自动化。 我们每个人都渴望成功&#xff0c; 而获得成功的最有效的方式之一就是&#xff0c; 在尽可能短的时间内&#xff0c; 解决尽可能多的人的问题&#xff0c; 特别是大家都有的问题。 我们可以观察身边优秀的产品&…

只知道ChatGPT?这些AI工具同样值得收藏

B站|公众号&#xff1a;啥都会一点的研究生 人工智能革命带来了许多能够提高生产力和转变工作方式的工具&#xff0c;本期将重点介绍音频、视频、设计以及图像和数据清理中的顶级 AI 工具。 音视频类AI工具&#xff1a; VoicePen AI https://voicepen.ai&#xff1a;该工具可…

行情数据接口-美股版

一、美股历史数据API 1.数据列表 待完善补充 下载美股公司列表&#xff0c;分别是纳斯达克&#xff0c;纽交所&#xff0c;美国证券交易所&#xff0c;三个CSV文件 下载地址&#xff0c;纳斯达克官网&#xff1a;Company List: NASDAQ, NYSE, & AMEX Companies http:/…

彩票系统

**用c#简单实现彩票系统**首先它能实现哪些功能&#xff1a; 1.红球号码不能超过1~33&#xff0c;彩票号码不能重复&#xff1b; 2.随机产生一注彩票&#xff1b; 3.设奖及中奖 奖级表&#xff1a; 奖级 中奖说明 单注奖金 &#xff08;前面数字代表红球数量、后面数字代表篮…

大乐透机选号码生产器

1、蓝色球5个&#xff0c;1~35 不能重复 2、红色球2个&#xff0c;1~12 不能重复 代码如下&#xff1a; public class demo {public static void main(String[] args) {System.out.println("现在时间为" LocalDateTime.now()"&#xff0c;今天体彩大乐透的开…

如何理解单目视觉slam中尺寸漂移问题

最近学习了ORB_SLAM2中计算sim3变换&#xff0c;其中对什么是尺寸因子和尺寸漂移问题还存在一些知识盲区&#xff0c;因此查看了一些别人写的文章以及自己的理解整理了一下这个问题。&#xff08;感觉自己的理解还不是非常的准确&#xff0c;如果有朋友发现我理解不对的地方&am…

微软推出 Hierarchical Transformer 实现更高准确率的语音评测

对于语言学习者来说&#xff0c;练习发音并获得及时准确的反馈&#xff0c;是提高口语水平的重要环节。多年来&#xff0c;微软一直深耕基于 Azure 认知服务的语音功能&#xff0c;不断优化语音评测[1]功能的底层技术&#xff0c;从准确率、流畅度、完整性和语音语调等方面&…

工作汇报PPT模板推荐

工作中我们难免少不了写各种各样的总结汇报&#xff0c;也会用到PPT。怎么写好一个让老板满意的工作汇报PPT呢&#xff1f;今天就给大家推荐PPT家园的工作汇报ppt模板。 隆重大气几何微立体风背景商务工作汇报PPT模板 简洁微立体风格&#xff0c;非常适合商务工作者的汇报ppt…

红色商务风季度工作总结汇报PPT模板

这是一套商务风季度工作总结汇报PPT模板.pptx共23张, 幻灯片模板使用了红色作为主色系,设置了丰富的动画效果,主要适用于通用行业,目录主要包括&#xff1a;上季度工作概述,工作完成情况,存在主要问题,下季度工作计划。 下载地址&#xff1a;商务风季度工作总结汇报PPT模板-行…

如何写好一份晋升PPT(附PPT模板)

又到了每年晋升述职的时间&#xff0c;在过去的 5、6 年里&#xff0c;我以评委身份参与了大量的晋升述职&#xff08;主要是前端&#xff0c;也包括客户端和测试&#xff09;&#xff0c;也辅导了许多&#xff08;100&#xff09;组内外的同学&#xff0c;指导他们书写和完善 …