给一个不多于3位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123
时间: 2023-05-11 19:06:06 浏览: 124
好的,让我来回答你的问题。对于这个问题,我可以给你一个简单的代码示例:
```
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于3位的正整数:");
scanf("%d", &num);
printf("它是%d位数\n", num < 10 ? 1 : (num < 100 ? 2 : 3));
printf("每一位数字分别是:");
do {
digit = num % 10;
printf("%d ", digit);
num /= 10;
count++;
} while (num > 0);
printf("\n逆序打印出各位数字:");
while (count > 0) {
digit = num % 10;
printf("%d", digit);
num /= 10;
count--;
}
printf("\n");
return 0;
}
```
这个程序可以接受用户输入一个不多于3位的正整数,然后输出它是几位数,每一位数字是什么,以及按逆序打印出各位数字。希望这个代码示例能够帮到你。
相关问题
C语言给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。(数据容错判断)
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
if (num < 0 || num > 99999) {
printf("输入错误,请输入一个不多于5位的正整数!\n");
return 0;
}
int temp = num;
while (temp != 0) {
count++;
temp /= 10;
}
printf("它是%d位数\n", count);
printf("每一位数字分别是:");
for (int i = count; i > 0; i--) {
printf("%d ", num / (int)pow(10, i - 1) % 10);
}
printf("\n逆序打印出各位数字:");
while (num != 0) {
printf("%d", num % 10);
num /= 10;
}
printf("\n");
return 0;
}
```
4.7 给一个不多于5位的正整数,要求:①求出它是几位数; ②分别输出每一位数字;
输入一个不多于5位的正整数,可以先将其转换为字符串,然后利用字符串长度函数 len() 求出它是几位数,再用字符串切片或循环遍历字符串取出每一位数字。
示例代码:
```python
num = input("请输入一个不多于5位的正整数:")
length = len(num)
print("它是{}位数".format(length))
print("每一位数字分别为:")
for i in range(length):
print(num[i])
```
运行示例:
```
请输入一个不多于5位的正整数:1234
它是4位数
每一位数字分别为:
1
2
3
4
```
阅读全文