【问题描述】输入一个正整数m,输出该整数位数,并逆序输出。 【输入形式】输入正整数m。 【输出形式】m的位数 m的逆序。 【样例输入】1234 【样例输出】4 4321 【样例输入】100 【样例输出】3 1
时间: 2024-10-21 20:09:28 浏览: 24
要实现这个功能,你可以使用C语言编写一个程序。首先,你需要计算输入数字m的位数,然后将其逆序输出。以下是一个简单的C程序来实现这一要求:
```c
#include <stdio.h>
int main() {
int m, digit_count = 0;
// 输入正整数
printf("请输入一个正整数: ");
scanf("%d", &m);
// 计算位数
while (m != 0) {
digit_count++;
m /= 10; // 取除个位
}
// 输出位数
printf("该整数的位数为: %d\n", digit_count);
// 逆序输出
int reversed = 0;
for (int i = digit_count - 1; i >= 0; i--) {
reversed = reversed * 10 + (m % 10); // 取当前位并加入到reversed
m /= 10; // 移除已处理的位
}
printf("逆序后的数为: %d\n", reversed);
return 0;
}
```
**样例运行结果:**
如果输入`1234`,程序将输出:
```
该整数的位数为: 4
逆序后的数为: 4321
```
如果输入`100`,程序将输出:
```
该整数的位数为: 3
逆序后的数为: 1
```
阅读全文