输入一个任意位数的正整数,一、求它是几位数,二、逆序打印出各位数字
时间: 2023-05-10 20:54:59 浏览: 191
好的,我可以回答这个问题。假设输入的正整数为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)
6. 任意输入正整数(假定该整数小于1000000),请用C语言编写程序,输出该正整数是几位数字(比如14823是5位的整数)?再从个位到最高位逆序打印出该正整数(比如4911逆序打印的结果是1194)。
```c
#include <stdio.h>
int main()
{
int num, count = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
// 计算位数
while (num > 0)
{
num /= 10;
count++;
}
printf("该正整数是%d位数字\n", count);
// 逆序输出
printf("逆序输出结果为:");
while (count > 0)
{
printf("%d", num % 10);
num /= 10;
count--;
}
return 0;
}
```
阅读全文