用c语言写代码:本关任务:给一个不多于5位的正整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字,例如原数为321,应输出123。
时间: 2024-10-09 10:05:28 浏览: 27
你可以使用以下C语言代码来完成这个任务:
```c
#include <stdio.h>
int main() {
int num, remainder, digit, reverse = 0;
// 输入不超过5位的正整数
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 求出它是几位数
int digits_count = 0;
while (num != 0) {
digits_count++;
remainder = num % 10; // 取个位数
num /= 10; // 去掉个位
}
printf("该数共有%d位.\n", digits_count);
// 输出每一位数字
printf("每一位数字依次为: ");
while (reverse < digits_count) {
printf("%d", remainder);
remainder = num % 10;
num /= 10;
if (reverse != digits_count - 1) {
printf(", "); // 如果不是最后一个,输出逗号分隔
}
reverse++;
}
printf("\n");
// 按逆序输出各位数字
printf("逆序后的数字为: ");
while (digits_count > 0) {
remainder = num % 10;
printf("%d", remainder);
num /= 10;
digits_count--;
if (digits_count > 0) {
printf(", "); // 如果不是第一个,输出逗号分隔
}
}
printf("\n");
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后用循环的方式计算了数的位数并打印每位数字。接着再次使用循环,但这次是从最高位开始倒序输出。
阅读全文