用c语言有一个不多于5位的正整数,要求: ●求出它是几位数。 ●分别打印出每一-位数字。 按逆序打印出各位数字,例如原数为321 ,应输出123。 输出四个整数,要求按大小顺序输出。
时间: 2024-11-09 11:27:11 浏览: 21
100个经典例题(C语言).doc
在C语言中,你可以使用`scanf`函数获取用户输入的正整数,并通过遍历每一位来进行处理。这里是一个简单的程序示例:
```c
#include <stdio.h>
int main() {
int num;
// 输入正整数,限制为5位
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 检查是否超过5位数
if (num > 99999) {
printf("输入错误,只接受不超过5位的整数.\n");
return 0;
}
// 获取数字的位数并存储每一位
int digit_count = 0;
while (num != 0) {
digit_count++;
num /= 10;
}
// 打印位数
printf("这个数有%d位.\n", digit_count);
// 输出每一位数字
for (int i = digit_count - 1; i >= 0; i--) {
int last_digit = num % 10;
printf("%d", last_digit);
num /= 10;
}
printf("\n");
// 逆序输出每一位数字
printf("逆序后的数字是:");
for (int i = 0; i < digit_count; i++) {
printf("%d", num % 10);
num /= 10;
}
printf("\n");
return 0;
}
```
运行此程序后,它会提示用户输入一个正整数,然后按照题目要求输出其位数、每位数字以及逆序后的数字。
阅读全文