循环的应用---(1)判断输入是否合法,不合法要求重新输入(2)某项功能的循环执行

本文介绍了如何通过循环和条件判断实现输入验证,确保用户输入符合特定条件,并提供了使用 break 语句控制循环退出的实例。同时,展示了如何在循环中进行连续的输入判断和反馈。

(1)判断输入是否合法,不合法要求重新输入

/*     
 * Copyright (c) 2012, 烟台大学计算机学院      
 * All rights reserved.      
 * 作    者:郭艳燕    
 * 专业班级:软件工程  
 * 完成日期:2012 年 11 月 9 日      
 * 版 本 号:v1.0      
 * 输入描述:从键盘输入一个数     
 * 问题描述:要求从键盘上输入一个1~100以内的数,输入正确提示正确,退出程序,输入错误提示错误,要求重新输入直到输入正确。 
 * 程序输出: 输入正确提示“输入正确,退出程序”,输入错误提示“输入错误,重新输入一个100以内的整数”。      
 * 问题分析:用循环来检查每次输入的数是否合法,不合法要求重新输入,然后进入循环再次检查,直到合法退出循环。
 * 算法设计:用循环实现 
             
 */      
#include <iostream>
using namespace std;
int main()
{
 int m;
 cout<<"请输入一个100以内的整数:";
 cin>>m;
 while(m<0||m>100) //判断输入的数如果不在0~100以内,则要求重新输入
 {
   cout<<"输入错误,重新输入一个100以内的整数";
   cin>>m;  //重新输入m
 }
 cout<<"输入正确,退出程序"<<endl;
 return 0;
}



(2)某项功能的循环执行

用循环控制条件来控制循环的执行

/*     
 * Copyright (c) 2012, 烟台大学计算机学院      
 * All rights reserved.      
 * 作    者:郭艳燕    
 * 专业班级:软件工程  
 * 完成日期:2012 年 11 月 9 日      
 * 版 本 号:v1.0      
 * 输入描述:循环从键盘输入一个数,判断该数是否是0~100以内,直到输入非Y字符退出判断     
 * 问题描述:要求从键盘上输入一个数,判断该数是否是0~100以内,判断完提示是否继续,输入'Y'继续,否则退出程序 
 * 程序输出: 循环输出一个从键盘输入的整数是否是0~100以内的数      
 * 问题分析:用循环来检查是否继续判断输入的整数是否是0~100以内的数,直到输入非'Y'字符退出循环。
 * 算法设计:用循环实现 ,循环控制变量等于'Y',则执行循环,否则退出循环             
 */      
#include <iostream>
using namespace std;
int main()
{
 int m;
 char c; //字符变量,用来判断是否继续判断输入的整数是否在0~100之间
 c='Y';  
 while(c=='Y') //判断是否继续判断
 {   cout<<"请输入一个整数:";
     cin>>m;
	 if(m>=0&&m<=100)
	    cout<<m<<"是100以内的整数"<<endl;
     else
        cout<<m<<"不是100以内的整数"<<endl;
     cout<<"是否继续判断,输入Y继续,输入其它字符退出:";
	 cin>>c;  //重新输入是否继续标志
 }
 cout<<"退出程序"<<endl;
 return 0;
}


用break语句来控制循环的退出

/*     
 * Copyright (c) 2012, 烟台大学计算机学院      
 * All rights reserved.      
 * 作    者:郭艳燕    
 * 专业班级:软件工程  
 * 完成日期:2012 年 11 月 9 日      
 * 版 本 号:v1.0      
 * 输入描述:循环从键盘输入一个数,判断该数是否是0~100以内,直到输入非Y字符退出判断     
 * 问题描述:要求从键盘上输入一个数,判断该数是否是0~100以内,判断完提示是否继续,输入'Y'继续,否则退出程序 
 * 程序输出: 循环输出一个从键盘输入的整数是否是0~100以内的数      
 * 问题分析:用循环来检查是否继续判断输入的整数是否是0~100以内的数,直到输入非'Y'字符退出循环。
 * 算法设计:用循环实现 ,用break语句来控制循环的退出             
 */      
#include <iostream>
using namespace std;
int main()
{
 int m;
 char c; //字符变量,用来判断是否继续判断输入的整数是否在0~100之间
 c='Y';
 while(1) 
 {   cout<<"请输入一个整数:";
     cin>>m;
	 if(m>=0&&m<=100)
	    cout<<m<<"是100以内的整数"<<endl;
     else
        cout<<m<<"不是100以内的整数"<<endl;
     cout<<"是否继续判断,输入Y继续,输入其它字符退出:";
	 cin>>c;//重新输入是否继续标志
	 if(c!='Y')    //如果输入的是非'Y'字符
		 break;   //退出循环
 }
 cout<<"退出程序"<<endl;
 return 0;
}



<think>我们需要使用一个循环(题目要求用do-while循环,但在Python中通常用while循环模拟,因为Python没有do-while)来持续提示用户输入,直到输入合法。 步骤: 1. 使用无限循环,在循环体内: a. 提示用户输入一个整数。 b. 尝试将输入转换为整数。 c. 如果转换失败(即非整数),则提示输入非法,要求重新输入。 d. 如果转换成功,检查整数是否1100之间(包括1100)。如果在,则跳出循环;否则,提示重新输入2. 当得到合法输入时,退出循环,并输出该整数(或者根据后续需求处理)。 注意:题目要求使用do-while循环,即至少执行一次。在Python中,我们可以使用while True,然后在满足条件时break。 由于题目没有指定语言,但根据示例是Python,这里用Python实现。</think>以下是一个Python程序,使用循环结构实现用户输入验证。程序会持续提示用户输入1-100之间的整数,直到输入合法为止: ```python while True: try: # 获取用户输入 num = int(input("请输入1-100之间的整数: ")) # 检查范围是否合法 if 1 <= num <= 100: print(f"输入有效!您输入的整数是: {num}") break # 退出循环 else: print("⚠️ 输入超出范围,请重新输入!") except ValueError: # 处理非数字输入 print("⚠️ 输入无效,请输入整数!") # 后续处理可以在这里继续... ``` ### 代码解释: 1. **无限循环**: - `while True:` 创建持续运行的循环,直到获得有效输入 2. **异常处理**: - `try-except` 捕获非数字输入引发的`ValueError` 3. **输入验证**: - `int(input(...))` 尝试将输入转为整数 - `if 1 <= num <= 100` 检查数字是否在有效范围内 4. **退出机制**: -输入有效时,`break`跳出循环 - 无效输入时显示对应错误提示 5. **用户反馈**: - 使用明确错误提示:范围错误/格式错误分开提示 - 包含emoji符号增强可读性 ### 示例执行流程: ``` 请输入1-100之间的整数: abc ⚠️ 输入无效,请输入整数! 请输入1-100之间的整数: 150 ⚠️ 输入超出范围,请重新输入! 请输入1-100之间的整数: 42 输入有效!您输入的整数是: 42 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值