用c语言【问题描述】 编写程序,输入一个三位数,分离出它的百位、十位和个位数,反转后输出该三位数。 【样例输入】 在一行中输入一个三位数。 【样例输出】 反转输出该三位数。 【样例输入】 127 【样例输出】 721
时间: 2024-10-15 08:06:28 浏览: 40
C语言程序设计-求一个四位数的各位数字的立方和.c
5星 · 资源好评率100%
在C语言中,你可以通过以下几个步骤编写程序来满足这个需求:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库,用于反转字符数组
void reverse(int num) {
char digits[4]; // 存储数字的数组,因为包括0
int i = 0;
// 将输入的三位数转换为字符数组,并删除多余的0
while (num > 0) {
digits[i++] = num % 10 + '0'; // 取余数并加上ASCII值对应字符
num /= 10;
}
digits[i] = '\0'; // 添加空字符结束字符串
// 反转字符数组
for (i = 0; i < strlen(digits) / 2; i++) {
char temp = digits[i];
digits[i] = digits[strlen(digits) - i - 1];
digits[strlen(digits) - i - 1] = temp;
}
// 输出反转后的三位数
printf("%d\n", atoi(digits)); // 使用atoi将字符数组转换回整数
}
int main() {
int input_num;
printf("请输入一个三位数:");
scanf("%d", &input_num);
if (input_num >= 100 && input_num <= 999) { // 检查输入是否有效
reverse(input_num);
} else {
printf("输入无效!请输入一个三位数。\n");
}
return 0;
}
```
在这个程序中,我们首先获取用户输入的三位数,然后将其每一位分别存储到字符数组`digits`中,接着反转这个数组,最后再将字符数组转换回整数形式输出。
阅读全文