c语言编写程序完成给一个不多于5位的正整数,要求: a)求出它是几位数; b)分别输出每一位数字; c)按逆序输出各位数字,例如原数为321,应输出123。
时间: 2024-10-12 20:11:33 浏览: 14
在C语言中,你可以通过循环结构和取模运算符 `%` 来实现这个需求。以下是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int num, digit, reversed = 0;
// 输入不超过5位的正整数
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 求出数字位数
int digits = 0;
while (num != 0) {
digits++;
num /= 10; // 取余操作将高位移除
}
printf("\n该数有 %d 位。\n", digits);
// 输出每位数字
printf("按顺序输出每位数字:\n");
while (num > 0) {
digit = num % 10;
printf("%d ", digit);
num /= 10;
}
printf("\n");
// 逆序输出各位数字
printf("按逆序输出各位数字:\n");
while (digits--) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
printf("%d\n", reversed);
return 0;
}
```
在这个程序中,我们首先获取输入的数字,然后计算它的位数。接着遍历每一位数字并依次打印。最后,我们通过不断更新 `reversed` 变量来模拟逆序的过程。
阅读全文