「C++小例子」无零整数【005】
题目
无零整数的判断
要求:输入一个int类型的整数,判断是否为无零整数。
无零整数:数的十进制表示中不含0
示例:
99、123、9872是无零整数 10、101、2002不是
解答
参考 Demo 1
思路:对十进制表示的数的每一位进行判定,观察是否为0
#include <iostream>
using namespace std;
int main()
{
int num;
cout<<"输入一个数:";
cin>>num;
if(num == 0 ) {
cout<<"这个数不是无零整数"<<endl;
}
while(num) {
if(num%10 == 0) {
cout<<"这个数不是无零整数"<<endl;
return 0;
}
num = num/10;
}
cout<<"这个数是无零整数"<<endl;
return 0;
}
参考 Demo 2
思路:将int转化为string类型,借用find()函数查询是否含有0
#include <iostream>
using namespace std;
int main()
{
int num;
cout<<"输入一个数:";
cin>>num;
if(to_string(num).find('0') != string::npos) {
cout<<"这个数不是无零整数"<<endl;
return 0;
}
cout<<"这个数是无零整数"<<endl;
return 0;
}
涉及知识点
to_string() find() string::npos
运行环境
Visual Studio Code
结语
欢迎小伙伴们提供其余的解法
这里海轰提供的代码仅供参考,希望对您有所帮助,如有错误欢迎小伙伴指正~
我是海轰ଘ(੭ˊᵕˋ)੭,如果您觉得写得可以的话,请点个赞吧
谢谢支持❤️
评论
