输入一个不多于5位的正整数,要求: 求出它是几位数 分别输出每一位数字 按逆序输出各位数字,例如原数为321,应输出123
时间: 2024-11-20 18:55:48 浏览: 15
这道题目要求我们输入一个不多于5位的正整数,然后求出它是几位数,分别输出每一位数字,并按逆序输出各位数字。我们可以按照以下步骤来解决这个问题:
1. 首先,我们需要从用户那里获取一个不多于5位的正整数。
2. 接下来,我们需要判断这个数是几位数。我们可以使用循环来实现这个功能,每次将这个数除以10,直到商为0,这样就可以得到这个数的位数。
3. 然后,我们需要分别输出每一位数字。我们可以使用循环和取模运算来实现这个功能,每次将这个数对10取模,就可以得到这个数的个位数,然后将这个数除以10,就可以得到十位数,以此类推。
4. 最后,我们需要按逆序输出各位数字。我们可以使用循环和取模运算来实现这个功能,每次将这个数对10取模,就可以得到这个数的个位数,然后将这个数除以10,就可以得到去掉个位数后的数,以此类推,直到这个数为0。
下面是一个示例代码,可以帮助你更好地理解这个问题:
```
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
int temp = num;
while (temp != 0) {
count++;
temp /= 10;
}
printf("这个数是%d位数\n", count);
printf("每一位数字分别是:");
for (int i = 0; i < count; i++) {
digit = num % 10;
printf("%d ", digit);
num /= 10;
}
printf("\n按逆序输出各位数字:");
for (int i = 0; i < count; i++) {
digit = num % 10;
printf("%d", digit);
num /= 10;
}
printf("\n");
return 0;
}
```
阅读全文