给出一个不多余9位的正整数,求出它是几位数,分别输出每一个数字,按逆序输出用C语言
时间: 2024-11-30 10:16:14 浏览: 25
在C语言中,你可以通过遍历每一位数字并逐个处理来实现这个功能。这里有一个简单的示例程序,它接收用户输入的正整数,并按照逆序输出每个数字:
```c
#include <stdio.h>
#include <string.h>
// 函数用于计算数字的位数
int countDigits(int num) {
if (num == 0)
return 1;
else
return 1 + countDigits(num / 10);
}
// 函数将数字逆序并打印出来
void reversePrint(int num) {
int digit, index = countDigits(num) - 1;
while (index >= 0) {
digit = num % 10; // 取当前位
printf("%d", digit); // 输出数字
num /= 10; // 移除最后一位
index--;
}
printf("\n");
}
int main() {
int number;
printf("请输入一个不多于9位的正整数: ");
scanf("%d", &number);
// 检查输入是否符合要求
if (number > 0 && number <= pow(10, 9)) {
reversePrint(number);
} else {
printf("错误:输入的数字超过9位。\n");
}
return 0;
}
```
在这个程序里,`countDigits`函数递归地确定了输入数字的位数,而`reversePrint`函数则从最高位开始取出并输出数字。注意,该代码假设用户输入的是非负整数。
阅读全文