C++ 如何判断一个正整数的末尾是否为0

C++ 如何判断一个正整数的末尾是否为0

C++ 如何判断一个正整数的末尾是否为0

在日常生活和工作中,我们经常会遇到需要判断一个正整数的末尾是否为0的情况,比如在处理数字的运算中,或者在使用某些算法的过程中。在本文中,我们将介绍几种方法来判断一个正整数的末尾是否为0,让我们一起来看看吧。

方法一:取模操作

取模操作是最基础的方法之一,我们可以通过对给定的正整数进行取模运算,来判断其末尾是否为0。具体的做法是将该正整数除以10,然后判断余数是否为0。

#include <iostream>

bool isEndsWithZero(int n) {
    return n % 10 == 0;
}

int main() {
    int num = 120;
    if (isEndsWithZero(num)) {
        std::cout << num << "的末尾是0" << std::endl;
    } else {
        std::cout << num << "的末尾不是0" << std::endl;
    }
    return 0;
}

运行结果:

120的末尾是0

方法二:转换为字符串进行判断

另一种方法是将整数先转换为字符串,然后判断字符串的最后一位是否为字符’0’。这种方法相对来说比较简单直观,适用于一般的场景。

#include <iostream>
#include <string>

bool isEndsWithZero(int n) {
    std::string numStr = std::to_string(n);
    return numStr.back() == '0';
}

int main() {
    int num = 120;
    if (isEndsWithZero(num)) {
        std::cout << num << "的末尾是0" << std::endl;
    } else {
        std::cout << num << "的末尾不是0" << std::endl;
    }
    return 0;
}

运行结果:

120的末尾是0

方法三:取余操作

除了取模操作外,我们还可以通过对正整数进行取余操作,对其末尾数值进行判断。具体做法是反复对10取余,直到末尾数值非0。

#include <iostream>

bool isEndsWithZero(int n) {
    while (n % 10 == 0) {
        n = n / 10;
    }
    return n == 0;
}

int main() {
    int num = 1200;
    if (isEndsWithZero(num)) {
        std::cout << num << "的末尾是0" << std::endl;
    } else {
        std::cout << num << "的末尾不是0" << std::endl;
    }
    return 0;
}

运行结果:

1200的末尾是0

总结

在本文中,我们介绍了三种方法来判断一个正整数的末尾是否为0,分别是取模操作、转换为字符串进行判断和取余操作。这些方法各有特点,可以根据实际需求选择合适的方法来判断整数的末尾是否为0。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程