C++do while循环题目
时间: 2024-12-29 13:22:49 浏览: 10
### C++ Do-While 循环练习题
#### 题目一:计算正整数的位数
编写一个程序,输入任意一个正整数 `n`,使用 do-while 循环来计算并输出该数字的总位数。
```cpp
#include <iostream>
using namespace std;
int main() {
int n, cnt = 0;
cin >> n;
do {
++cnt;
n /= 10;
} while (n != 0);
cout << "位数:" << cnt << endl;
return 0;
}
```
此代码通过不断除以 10 来减少数值大小,并计数直到原数值变为零[^3]。
#### 题目二:猜数字游戏
创建一个简单的猜数字小游戏,在其中玩家需要猜测预设的秘密号码。如果猜测错误,则提示继续尝试;当成功匹配时结束游戏。利用 do-while 实现这一逻辑结构可以确保至少有一次机会让玩家进行猜测。
```cpp
#include <iostream>
using namespace std;
int main() {
const int SECRET_CODE = 789; // 设定秘密码
int guess;
do {
cout << "请输入您的猜测(三位数):";
cin >> guess;
if (guess != SECRET_CODE) {
cout << "很遗憾,您猜错了,请再试一次!" << endl;
}
} while (guess != SECRET_CODE);
cout << "恭喜您找到了正确答案!" << endl;
return 0;
}
```
这段代码展示了如何运用 do-while 结构构建一个简单却有趣的交互式应用程序[^2]。
#### 题目三:打印乘法表
设计一段能够显示指定范围内所有自然数与其对应倍数之间关系表格的应用程序。这里采用双重嵌套形式——外部为 do-while 内部则是标准 for 或者 while ——从而实现更加灵活多变的功能需求。
```cpp
#include <iostream>
using namespace std;
int main(){
int startNum,endNum,i,j;
cout<<"请输入起始范围 :";
cin>>startNum;
cout<<"\n请输入终止范围 :";
cin>>endNum;
i=startNum;
do{
cout<<"\n"<<i<<" 的乘法表:\n";
for(j=1;j<=10;++j){
cout<<i<<" * "<<j<<"="<<i*j<<"\t";
}
i++;
}while(i<=endNum);
return 0;
}
```
上述例子说明了即使是在较为复杂的场景下,do-while 同样能与其他控制流语句良好协作完成特定任务[^1]。
阅读全文