c++给出一个不多于四位的正整数,求它是几位数
时间: 2024-10-11 17:15:36 浏览: 8
在 C++ 中,你可以使用取模运算 `%` 和条件语句 `if` 来判断一个不多于四位的正整数有几位。以下是简单的示例代码:
```cpp
#include <iostream>
int countDigits(int num) {
if (num >= 0 && num <= 9) {
return 1;
} else if (num >= 10 && num <= 99) {
return 2;
} else if (num >= 100 && num <= 999) {
return 3;
} else {
return 4; // 如果数字大于等于1000,表示它是四位数
}
}
int main() {
int input;
std::cout << "请输入一个不多于四位的正整数:";
std::cin >> input;
int digits = countDigits(input);
std::cout << "这个数有 " << digits << " 位。\n";
return 0;
}
```
这段代码首先检查输入的数字是否在0到9之间,如果是则返回1位。接着检查10到99,200到999,如果满足条件就相应地返回位数。如果输入超过999,则说明是四位数。
相关问题
c++给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
在 C++ 中,你可以通过以下步骤来实现这个功能:
1. **判断位数**:
使用 `std::string` 类型将输入的整数转换成字符串,因为字符串的长度即为位数。然后可以获取字符串的长度来确定整数的位数。
```cpp
int num;
cin >> num; // 输入正整数
std::string str = std::to_string(num);
int digits = str.length();
```
2. **逆序打印各位数字**:
遍历字符串并逐个取出字符(每个字符代表一位数字),从后向前打印即可。
```cpp
for (int i = digits - 1; i >= 0; i--) {
std::cout << str[i];
}
```
完整代码示例:
```cpp
#include <iostream>
#include <string>
int main() {
int num;
cin >> num;
std::string str = std::to_string(num);
int digits = str.length();
std::cout << "它有 " << digits << " 位。\n";
for (int i = digits - 1; i >= 0; i--) {
std::cout << str[i];
}
std::cout << "\n逆序后的数字是:";
return 0;
}
```
给一个不多于五位的正整数c++
这是一个用C++编写的程序,可以输入一个不多于5位的正整数,并实现以下功能:
(1)求出它是几位数;
(2)分别打印出每一位数字;
(3)按逆序打印出各位数字。
该程序使用了数组和循环语句,可以通过输入一个正整数,将其转化为数组中的每一位数字,并按照要求输出。以下是该程序的代码:
```
#include <iostream>
using namespace std;
int main() {
int num, a[5], i, j;
cin >> num;
for (i = 0; i < 5 && num > 0; i++) {
a[i] = num % 10; num /= 10;
}
cout << i << endl;
for (j = i - 1; j >= 0; j--) {
if (j == i - 1) {
cout << a[j];
} else {
cout << " " << a[j];
}
}
cout << endl;
for (j = 0; j < i; j++) {
if (j == 0) {
cout << a[j];
} else {
cout << " " << a[j];
}
}
return 0;
}
```