给出一个不多于5位的非负整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 用C++做出来
时间: 2023-12-19 14:34:01 浏览: 24
可以使用以下C++代码来实现这个功能:
```cpp
#include <>
using namespace std;
int main() {
int num;
cout << "请输入一个不多于5位的非负整数:";
cin >> num;
// 判断位数
int digits = 0;
int temp = num;
while (temp != 0) {
temp /= 10;
digits++;
}
cout << "位数:" << digits << endl;
// 输出每一位数字
cout << "每一位数字:";
for (int i = digits - 1; i >= 0; i--) {
int digit = (num / static_cast<int>(pow(10, i))) % 10;
cout << digit << " ";
}
cout << endl;
// 按逆序输出各位数字
cout << "逆序输出各位数字:";
while (num != 0)
相关问题
c++给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,
好的,以下是C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个不多于5位的整数:" << endl;
cin >> n;
// 判断几位数
int digit;
if (n < 10) {
digit = 1;
} else if (n < 100) {
digit = 2;
} else if (n < 1000) {
digit = 3;
} else if (n < 10000) {
digit = 4;
} else {
digit = 5;
}
cout << "它是" << digit << "位数" << endl;
// 分别输出每一位数字
int temp = n;
int a[5];
for (int i = 0; i < digit; i++) {
a[i] = temp % 10;
temp /= 10;
}
cout << "每一位数字分别为:";
for (int i = digit - 1; i >= 0; i--) {
cout << a[i] << " ";
}
cout << endl;
// 按逆序输出各位数字
cout << "按逆序输出各位数字为:";
for (int i = 0; i < digit; i++) {
cout << a[i];
}
cout << endl;
return 0;
}
```
输入一个不多于5位的整数后,程序会输出它是几位数,每一位数字分别是什么,以及按逆序输出各位数字。注意,以上程序只适用于正整数或0,如果输入负数会出现错误。
4.7 给一个不多于5位的正整数,要求:①求出它是几位数; ②分别输出每一位数字;
输入一个不多于5位的正整数,可以先将其转换为字符串,然后利用字符串长度函数 len() 求出它是几位数,再用字符串切片或循环遍历字符串取出每一位数字。
示例代码:
```python
num = input("请输入一个不多于5位的正整数:")
length = len(num)
print("它是{}位数".format(length))
print("每一位数字分别为:")
for i in range(length):
print(num[i])
```
运行示例:
```
请输入一个不多于5位的正整数:1234
它是4位数
每一位数字分别为:
1
2
3
4
```