从键盘读取一个正整数,统计该数的位数。c++
时间: 2024-12-16 13:32:06 浏览: 2
删数问题算法程序(排列成一个新的正整数)
4星 · 用户满意度95%
在C++中,你可以通过以下步骤从键盘读取一个正整数并统计其位数:
```cpp
#include <iostream>
#include <climits> // 包含INT_MAX用于判断输入是否合法
int countBits(int num) {
if (num == 0) return 1; // 特殊情况,0有1位
int count = 0;
while (num > 0) {
count += num % 10; // 每次获取最后一位,加到计数上
num /= 10; // 移除最后一位
}
return count;
}
int main() {
int input;
std::cout << "请输入一个正整数: ";
std::cin >> input;
// 判断输入是否为正整数
if (input <= 0 || input > INT_MAX) {
std::cerr << "输入错误,必须是正整数!" << std::endl;
return 0;
}
int bitCount = countBits(input);
std::cout << "输入数字的位数为: " << bitCount << std::endl;
return 0;
}
阅读全文