输入任意一个不多于5位的正整数,编程求它是几位数,逆序打印出各位数字。
时间: 2024-06-05 15:06:46 浏览: 168
n = int(input("请输入一个不多于5位的正整数:"))
if n<10:
print("这是一个1位数,逆序为:",n)
elif n<100:
print("这是一个2位数,逆序为:",n%10*10 + n//10)
elif n<1000:
print("这是一个3位数,逆序为:",n%10*100 + n//10%10*10 + n//100)
elif n<10000:
print("这是一个4位数,逆序为:",n%10*1000 + n//10%10*100 + n//100%10*10 + n//1000)
else:
print("这是一个5位数,逆序为:",n%10*10000 + n//10%10*1000 + n//100%10*100 + n//1000%10*10 + n//10000)
相关问题
C语言:给一个不多于5位的正整数求它是几位数并逆序打印出各位数字。
```c
#include <stdio.h>
int main() {
int num, count = 0;
int digits[5] = {0}; // 用数组存储每一位数字
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
// 分解每一位数字并存储
while (num > 0) {
digits[count++] = num % 10;
num /= 10;
}
printf("该数是%d位数,逆序打印出各位数字为:", count);
for (int i = 0; i < count; i++) {
printf("%d", digits[i]);
}
printf("\n");
return 0;
}
```
运行结果:
```
请输入一个不多于5位的正整数:12345
该数是5位数,逆序打印出各位数字为:54321
```
用python输入一个不多于 8 位的正整数 输出它是几位数; 逆序打印出各位数字
在Python中,你可以通过以下步骤来实现这个功能:
1. 首先,让用户输入一个不超过8位的正整数。可以使用`input()`函数获取用户的输入,并通过`int()`函数将字符串转换为整数。
```python
num = int(input("请输入一个不超过8位的正整数:"))
```
2. 接着判断输入的整数的位数,可以使用`len(str(num))`,因为将整数转换为字符串后,长度即为位数。
```python
digit_count = len(str(num))
print(f"该数有{digit_count}位。")
```
3. 对于逆序打印每位数字,我们可以利用列表推导式将每一位提取出来并反转存储,然后逐个打印。
```python
reversed_digits = [str(num)[i] for i in range(digit_count - 1, -1, -1)]
print("逆序打印各位数字:", *reversed_digits)
```
完整代码示例:
```python
num = int(input("请输入一个不超过8位的正整数:"))
digit_count = len(str(num))
print(f"该数有{digit_count}位。")
reversed_digits = [str(num)[i] for i in range(digit_count - 1, -1, -1)]
print("逆序打印各位数字:", *reversed_digits)
```
阅读全文