给出一个小于1000的正整数,编程求该数是几位数,逆序输出各位上的数字,如原数456,输出654.
时间: 2024-05-02 11:17:40 浏览: 97
求给定正整数的位数和并逆序打印各位数
算法思路:
1. 使用一个计数器变量count记录数字的位数,初始值为0。
2. 使用while循环,每次除以10,直到数字变为0为止,每次循环计数器count加1。
3. 再使用一个while循环,每次取数字的个位数并输出,直到数字变为0为止。
Python代码实现:
```python
num = int(input("请输入一个小于1000的正整数:"))
count = 0
while num > 0:
count += 1
num //= 10
print("该数是%d位数" % count)
while count > 0:
count -= 1
digit = num % 10
num //= 10
print(digit, end="")
```
C++代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int num, count = 0;
cout << "请输入一个小于1000的正整数:";
cin >> num;
while (num > 0)
{
count++;
num /= 10;
}
cout << "该数是" << count << "位数" << endl;
while (count > 0)
{
count--;
int digit = num % 10;
num /= 10;
cout << digit;
}
cout << endl;
return 0;
}
```
Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个小于1000的正整数:");
int num = input.nextInt();
int count = 0;
while (num > 0) {
count++;
num /= 10;
}
System.out.println("该数是" + count + "位数");
while (count > 0) {
count--;
int digit = num % 10;
num /= 10;
System.out.print(digit);
}
System.out.println();
}
}
```
阅读全文