给一个不多于4位的正整数,要求: (1)求出它是几位数; (2)分别输出每一位数字; (3)按逆序输出各位数字,例如原数为12345,应输出54321c语言
时间: 2024-11-18 22:12:35 浏览: 12
要解决这个问题,你可以通过遍历数字并逐位提取来完成。以下是一个简单的C语言函数,用于满足上述要求:
```c
#include <stdio.h>
void printNumber(int number) {
int digit, length = 0; // 初始化长度为0
// 求出数字的位数
while (number > 0) {
digit = number % 10; // 取余得到最后一位
length++; // 长度加一
printf("%d ", digit); // 输出每一位
number /= 10; // 去掉最低位
}
printf("\n原数有%d位\n", length);
// 逆序输出
for (int i = length - 1; i >= 0; i--) {
printf("%d", digit); // 从最高位开始输出
}
}
int main() {
int input;
printf("请输入一个不超过四位的正整数:");
scanf("%d", &input);
if (input < 0 || input >= 10000) {
printf("输入超出范围,仅支持0-9999的正整数。\n");
return 0;
}
printNumber(input);
return 0;
}
阅读全文