给定一个不多于5位的正整数,要求:
1. 求出它是几位数。
2. 分别输出每一位数字。
3. 按逆序输出各位数字,例如原数为321,应输出123。
#include <stdio.h>
int main() {
int num, digit, count = 0, reverse = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
int temp = num;
// 求位数
while (temp > 0) {
count++;
temp /= 10;
}
printf("位数是:%d\n", count);
// 输出每一位数字
printf("每一位数字:");
temp = num;
while (temp > 0) {
digit = temp % 10;
printf("%d ", digit);
reverse = reverse * 10 + digit;
temp /= 10;
}
printf("\n");
// 逆序输出
printf("逆序输出:%d\n", reverse);
return 0;
}
代码说明:
- 提示用户输入一个不多于5位的正整数。
- 使用
while
循环计算整数的位数,并输出结果。 - 再次使用
while
循环逐位提取数字,存储并输出每一位数字。 - 通过反转数字,按逆序输出。