编写程序,输入一个不多于4位的正整数,完成下列要求:判断它是几位数,如输入152,输出3输出每一位的数码,
时间: 2023-06-01 07:01:29 浏览: 153
代码如下:
```python
num = input("请输入一个不多于4位的正整数:")
length = len(num)
print("该数字是%d位数" % length)
print("每一位的数码为:")
for i in range(length):
print(num[i])
```
运行结果示例:
```
请输入一个不多于4位的正整数:152
该数字是3位数
每一位的数码为:
1
5
2
```
相关问题
3、编写程序,输入一个不多于4位的正整数,完成下列要求:判断它是几位数,如输入152,输出3输出每一位的数码,如输入152,输出1,5,2逆序输出这个数,如输入152,输出251输入示例:152输出:152是3位数,数码是1、5、2,逆序数字是251
### 回答1:
```python
num = input("请输入一个不多于4位的正整数:")
length = len(num)
print(num + "是" + str(length) + "位数,数码是", end="")
for i in num:
print(i + "、", end="")
print("逆序数字是", num[::-1])
```
输出:
```
请输入一个不多于4位的正整数:152
152是3位数,数码是1、5、2、逆序数字是251
```
### 回答2:
这里是一个用Python编写的示例程序:
```python
num = int(input("请输入一个不多于4位的正整数:"))
if num >= 1000:
print("输入的是4位数")
digit1 = num // 1000
digit2 = (num // 100) % 10
digit3 = (num // 10) % 10
digit4 = num % 10
print("数码是", digit1, digit2, digit3, digit4)
print("逆序数字是", digit4, digit3, digit2, digit1)
elif num >= 100:
print("输入的是3位数")
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
print("数码是", digit1, digit2, digit3)
print("逆序数字是", digit3, digit2, digit1)
elif num >= 10:
print("输入的是2位数")
digit1 = num // 10
digit2 = num % 10
print("数码是", digit1, digit2)
print("逆序数字是", digit2, digit1)
else:
print("输入的是1位数")
print("数码是", num)
print("逆序数字是", num)
```
当输入152时,程序将输出:
```
输入的是3位数
数码是 1 5 2
逆序数字是 2 5 1
```
### 回答3:
解题思路:
1、首先,判断输入的数字是几位数。可以将输入的数字转化为字符串,然后使用len()函数获取字符串的长度即可得到位数。
2、接着,将输入的数字转化为字符串,遍历字符串的每一个字符,并按顺序输出即可得到每一位的数字。
3、最后,将字符串反转,并输出即可得到逆序数字。
以下是满足要求的程序代码:
```python
num = input("请输入一个不多于4位的正整数:")
length = len(num)
print(num + "是" + str(length) + "位数")
num_list = list(num)
digit_str = "数码是"
for i in range(length):
digit_str += num_list[i]
if i != length-1:
digit_str += "、"
print(digit_str)
reverse_num = num[::-1]
print("逆序数字是" + reverse_num)
```
例如,运行代码时输入152,则输出如下结果:
```
152是3位数
数码是1、5、2
逆序数字是251
```
用C语言编写数字操作 输入一个不多于5位的正整数,要求: 求出它是几位数 分别输出每一位数字 按逆序输出各位数字,例如原数为321,应输出123 输入说明: 一个不多于5位的正整数 输出说明: 位数每位数字为反序数字为
以下是C语言实现输入一个不多于5位的正整数,求出它是几位数,分别输出每一位数字,按逆序输出各位数字的代码:
```c
#include <stdio.h>
int main() {
int num, digit, count = 0;
int arr[5];
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
while (num > 0) {
digit = num % 10;
arr[count] = digit;
count++;
num /= 10;
}
printf("该数是%d位数\n", count);
printf("每一位数字为:");
for (int i = count - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
printf("\n按逆序输出各位数字为:");
for (int i = 0; i < count; i++) {
printf("%d", arr[i]);
}
return 0;
}
```
阅读全文