「C++小例子」无零整数【005】

共 1964字,需浏览 4分钟

 ·

2021-05-01 22:40

题目

无零整数的判断

要求:输入一个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

结语

欢迎小伙伴们提供其余的解法

这里海轰提供的代码仅供参考,希望对您有所帮助,如有错误欢迎小伙伴指正~

我是海轰ଘ(੭ˊᵕˋ)੭,如果您觉得写得可以的话,请点个赞吧

谢谢支持❤️

写留言|查看留言

浏览 75
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报