用c语言输入一个三位整数,将其百位和个位交换后输出,个位数是零也要交换
时间: 2024-09-13 14:18:31 浏览: 137
在 C 语言中,你可以通过以下几个步骤来实现这个功能:
1. 首先,提示用户输入一个三位数。
2. 然后,将输入的数字转换成字符串以便于操作每一位数。
3. 分离出百位、十位和个位。
4. 如果个位是0,则不需要单独处理,因为其他位数已经足够组成新的三位数。
5. 将百位和个位互换位置。
6. 再次将变换后的数组转换回整数形式并输出。
下面是一个简单的示例程序实现:
```c
#include <stdio.h>
#include <string.h>
void swap(char *num, int pos1, int pos2) {
char temp = num[pos1];
num[pos1] = num[pos2];
num[pos2] = temp;
}
int main() {
printf("请输入一个三位数:");
unsigned int input;
scanf("%u", &input);
// 将输入转换为字符串
char str[5]; // 考虑到可能是负数,需要额外一位
itoa(input, str, 10);
// 检查是否为三位数,并且个位非零
if (strlen(str) != 4 || str[3] == '0') {
printf("输入错误,不是三位数或个位是0。\n");
return 0;
}
// 交换百位和个位
swap(str, 0, 2); // 数组下标从0开始计
// 输出结果
unsigned int output = atoi(str); // 把字符串转回整数
printf("交换后得到的三位数是:%u\n", output);
return 0;
}
```
阅读全文