用c语言输入1个3位数,将它反向输出,如输入123,输出321
时间: 2023-05-18 16:06:56 浏览: 214
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int num, reversed = 0;
printf("请输入一个3位数:");
scanf("%d", &num);
while (num > 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
printf("反向输出为:%d\n", reversed);
return 0;
}
```
输入123,输出321。
相关问题
3.请编写一个C语言程序,给一个不多于5位的正整数,要求: ①求出它是几位数; ②分别输出每一位数字; ③按逆序输出各位数字,例如原数为321,应输出123。
以下是一个简单的C语言程序,用于满足您的要求:
```c
#include <stdio.h>
#include <string.h>
int main() {
char input[6];
int length, digit, reverse = 0;
// 输入不超过5位的正整数
printf("请输入一个不超过5位的正整数: ");
scanf("%s", input);
// 检查输入长度并计算位数
length = strlen(input);
if (length > 5) {
printf("输入错误: 数字超过5位。\n");
return 1;
}
// 输出每一位数字
for (digit = 0; digit < length; digit++) {
printf("第%d位数字是: %d\n", digit + 1, input[digit] - '0');
}
// 按逆序输出各位数字
for (reverse = length - 1; reverse >= 0; reverse--) {
printf("%d", input[reverse] - '0');
}
printf("\n逆序输出是: ");
return 0;
}
```
这个程序首先提示用户输入一个不超过5位的正整数,然后计算字符串的长度(即位数)。接下来通过循环遍历每一位数字并打印出来,最后再从右到左反向输出。
编写程序实现给一个不多于5位的正整数,要求: a.求出它是几位数; ·b.分别输出每一位数字; c.按逆序输出各位数字,例如原数为321,应输出123
要实现这个功能,你可以使用C语言中的循环和条件语句。首先,我们将遍历输入的每一位数字,然后计算总位数、输出每位数字以及逆序输出。以下是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int num, digit, position = 0;
// 输入不超过5位的正整数
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 检查输入是否合法(不超过5位)
if (num >= 1 && num <= pow(10, 5)) {
while (num != 0) {
digit = num % 10; // 取余得到当前位数字
printf("第%d位数字是: %d\n", ++position, digit); // 输出当前位及位置
// 更新num以便处理下一位
num /= 10;
}
printf("\n逆序输出: ");
while (position > 0) {
digit = num % 10; // 取余得到当前位数字
printf("%d", digit); // 输出逆序的数字
num /= 10; // 更新num
position--;
if (position > 0) printf(", "); // 如果不是第一位,则添加分隔符
}
printf("\n");
} else {
printf("输入的数字超过5位。\n");
}
return 0;
}
```
在这个程序中,我们先读入用户的输入,然后用`while`循环逐个取出每一位数字并打印。接着,我们在另一个`while`循环中反向输出这些数字。
阅读全文