C程序设计. 给一个不多于5位的正整数 要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出各位数字,例如原数为321,应输出123。利用循环
时间: 2024-10-08 12:06:33 浏览: 78
C程序设计中,处理这种要求通常涉及几个步骤:
1. **判断位数**:你可以通过取模运算 `%` 来确定一位数。对于一个正整数 `num` 和它的位数 `n`,可以先假设 n = 1,然后不断将 n 加一,直到 num % n 等于 0,此时 n 就是输入数的确切位数。
```c
int num, digit;
digit = 1;
while (num / digit != 0) {
digit++;
}
```
2. **遍历并输出每一位**:接下来,你可以使用一个 for 循环和取余运算 `%` 来依次获取每一位数字,并打印出来。
```c
for (int i = digit - 1; i >= 0; i--) {
printf("%d", num % 10);
num /= 10;
}
printf("\n");
```
3. **逆序输出**:最后,为了按逆序输出,同样使用一个 for 循环,但是这次从最高位开始到最低位。
```c
for (int i = digit - 1; i >= 0; i--) {
printf("%d", num % 10);
num /= 10;
}
```
完整代码示例:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 判断位数
int digit;
digit = 1;
while (num / digit != 0) {
digit++;
}
// 输出每一位
for (int i = digit - 1; i >= 0; i--) {
printf("%d", num % 10);
num /= 10;
}
printf("\n每位数字:");
// 逆序输出
for (int i = digit - 1; i >= 0; i--) {
printf("%d", num % 10);
num /= 10;
}
printf("\n逆序: ");
return 0;
}
```
阅读全文
相关推荐



















