用c语言写出一个不多于5位的正整数,要求: ●求出它是几位数。 ●分别打印出每一位数字。 按逆序打印出各位数字,例如原数为321 ,应输出123。 输出四个整数,要求按大小顺序输出。
时间: 2024-11-09 09:27:20 浏览: 21
C语言求一个正整数的位数
3星 · 编辑精心推荐
在 C 语言中,你可以使用以下函数来实现这个功能:
```c
#include <stdio.h>
void printReverse(int num) {
if (num == 0) {
printf("是一位数: %d\n", 1);
return;
}
int digit = num % 10; // 取最后一位数字
printf("当前数字: %d\n", digit);
// 递归打印剩余位
printReverse(num / 10);
printf("逆序后: %d\n", digit); // 递归结束时,再次打印最后一个数字
}
int main() {
int inputNum;
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &inputNum);
// 检查输入是否合法
if (inputNum <= 0 || inputNum >= pow(10, 5)) {
printf("输入错误! 数字必须在1到9999之间。\n");
return 1;
}
printReverse(inputNum);
// 输出四位数字(除以10后会减小一位)
printf("按大小顺序输出: ");
while (inputNum > 0) {
printf("%d ", inputNum % 10);
inputNum /= 10;
}
printf("\n");
return 0;
}
```
当你运行这个程序时,它会首先接收用户输入的一个不超过5位的正整数,然后依次满足题目要求:计算位数、打印每一位数字(逆序和正常顺序)、并按照大小顺序打印剩下的四位数字。
阅读全文