输入一个任意位数的正整数,一、求它是几位数,二、逆序打印出各位数字
时间: 2023-05-10 11:54:59 浏览: 126
好的,我可以回答这个问题。假设输入的正整数为n,我们可以通过以下代码来求出它是几位数并逆序打印出各位数字:
```
n = int(input("请输入一个正整数:"))
count = 0
while n > 0:
count += 1
print(n % 10, end="")
n //= 10
print("\n它是", count, "位数")
```
这段代码会先让用户输入一个正整数,然后通过一个while循环来逐位取出数字并打印出来,同时计数器count也会加1。最后输出count的值即可得到它是几位数。
相关问题
输入任意一个不多于5位的正整数,编程求它是几位数,逆序打印出各位数字。
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 语言代码实现:
```c
#include <stdio.h>
int main() {
int num, digits = 0, reversed = 0;
printf("请输入一个小于5位的正整数:");
scanf("%d", &num);
// 计算位数
int temp = num;
while (temp != 0) {
temp /= 10;
digits++;
}
// 逆序打印各位数字
printf("位数:%d\n", digits);
printf("逆序打印各位数字:");
while (num != 0) {
int digit = num % 10;
printf("%d ", digit);
reversed = reversed * 10 + digit;
num /= 10;
}
printf("\n逆序数字:%d\n", reversed);
return 0;
}
```
这段代码首先让用户输入一个小于5位的正整数,然后通过除以10的方式计算其位数,并将位数存储在变量 `digits` 中。接下来,使用模运算和除以10的方式,逆序打印出各位数字,并将逆序结果存储在变量 `reversed` 中。最后,输出位数和逆序数字。
希望这个回答对您有帮助!如果您有任何其他问题,请随时提问。