5、给一个不多于5位的正整数,要求: 求出它是几位数; 分别输出每一位数字; 按逆序输出各位数字,例如原数为321,应输出123。用C语言完成
时间: 2024-10-16 15:12:09 浏览: 18
在线考试系统项目资源1.docx
你可以通过C语言的`scanf`、`strlen`、`isdigit`以及循环结构来实现这个功能。这里有一个示例程序:
```c
#include <stdio.h>
#include <string.h>
void print_reverse(int num) {
while (num > 0) {
int remainder = num % 10;
printf("%d", remainder);
num /= 10;
}
printf("\n");
}
int main() {
int number;
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &number);
// 检查输入是否有效
if (number <= 0 || number >= pow(10, 5)) {
printf("输入无效! 请确保输入的是一个不超过5位的正整数.\n");
return 1;
}
// 分别获取数字的位数和每一位数字
int digit_count = strlen(strconv.Itoa(number));
printf("该数字共有%d位.\n", digit_count);
printf("每位数字依次为: ");
while (digit_count--) {
int last_digit = number % 10;
printf("%d", last_digit);
number /= 10;
}
printf("\n");
printf("逆序后的数字为: ");
print_reverse(number);
return 0;
}
```
阅读全文