C语言输入一个小于5位的正整数,分别输出它的位数及其逆序打印出各位数字
时间: 2024-04-11 11:28:29 浏览: 162
求给定正整数的位数和并逆序打印各位数
您好!对于您的问题,可以使用以下 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int num, digits = 0, reversed = 0;
printf("请输入一个小于5位的正整数:");
scanf("%d", &num);
// 计算位数
int temp = num;
while (temp != 0) {
temp /= 10;
digits++;
}
// 逆序打印各位数字
printf("位数:%d\n", digits);
printf("逆序打印各位数字:");
while (num != 0) {
int digit = num % 10;
printf("%d ", digit);
reversed = reversed * 10 + digit;
num /= 10;
}
printf("\n逆序数字:%d\n", reversed);
return 0;
}
```
这段代码首先让用户输入一个小于5位的正整数,然后通过除以10的方式计算其位数,并将位数存储在变量 `digits` 中。接下来,使用模运算和除以10的方式,逆序打印出各位数字,并将逆序结果存储在变量 `reversed` 中。最后,输出位数和逆序数字。
希望这个回答对您有帮助!如果您有任何其他问题,请随时提问。
阅读全文