用C语言编写程序 给一个不多于5位的正整数,要求: a. 求出它是几位数; b. 分别输出每一位数字; c. 按逆序输出各位数字,例如原数为321,应输出123
时间: 2023-06-14 20:07:25 浏览: 148
以下是用 C 语言编写的程序,可以实现题目要求的功能:
```c
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
printf("该数的每一位数字为:\n");
do {
digit = num % 10; // 取出最后一位数字
count++; // 位数加1
printf("%d\n", digit); // 输出该位数字
num /= 10; // 去掉最后一位数字
} while (num != 0);
printf("该数是%d位数\n", count);
printf("该数的逆序输出为:");
do {
digit = num % 10; // 取出最后一位数字
printf("%d", digit); // 输出该位数字
num /= 10; // 去掉最后一位数字
} while (num != 0);
printf("\n");
return 0;
}
```
程序的运行结果如下:
```
请输入一个不多于5位的正整数:12345
该数的每一位数字为:
5
4
3
2
1
该数是5位数
该数的逆序输出为:54321
```
注意,程序中使用了两个 do-while 循环,第一个循环用于依次输出每一位数字,第二个循环用于逆序输出数字。在第二个循环中,需要重新取模和除法,因为第一个循环已经把 num 取完了。
阅读全文