用c语言写一个输入一个不多于5位的正整数,要求: 1)输出该正整数是几位数。 2)分别输出该正整数的每一位数字。 3)按逆序输出各位数字,例如原数为321,应输出123。 4)修改程序,要求如下:请输入一个4位正整数,并逆序输出各位数字,运行程序并分析结果。
时间: 2024-11-12 11:37:42 浏览: 15
在C语言中,你可以通过以下几个步骤来编写满足上述条件的程序:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void printNumber(int num);
void reverseNumber(int num);
int main() {
int input;
printf("请输入一个不超过5位的正整数:");
scanf("%d", &input); // 输入整数
if (input <= 0 || input > 9999) { // 检查是否合法
printf("输入错误,只接受1到9999之间的正整数。\n");
} else {
printf("该正整数共有%d位。\n", int(log10(input) + 1)); // 输出位数
printNumber(input); // 输出每一位数字
reverseNumber(input); // 逆序输出各位数字
}
return 0;
}
// 打印每一位数字
void printNumber(int num) {
while (num != 0) {
printf("%d", num % 10);
num /= 10;
}
printf("\n");
}
// 逆序打印数字
void reverseNumber(int num) {
int reversed = 0;
while (num != 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
printf("逆序后的数字是:%d\n", reversed);
}
阅读全文