用C语言交换一个十进制整数(11-99)的个位和十位的数值,输出结果。例如:输入整数12,输出整数21。
时间: 2024-10-19 20:16:25 浏览: 40
将无符号的八进制字符串转换为十进制整数。-c语言教程
在C语言中,我们可以使用位运算技巧来交换一个十进制整数的个位和十位。假设我们有一个变量`num`存储了这个十位和个位的组合,比如12,那么可以这样做:
```c
#include <stdio.h>
// 定义一个函数来交换整数的十位和个位
void swap(int num) {
int temp = (num & 0xf); // 取出个位(0x0f得到的是最后两位)
num = num >> 4; // 移除个位,右移4位相当于去掉最低四位
num |= (temp << 4); // 将新个位左移四位并按位或到原数上
}
int main() {
int num;
printf("请输入一个11-99之间的整数:");
scanf("%d", &num);
if (num >= 10 && num <= 99) { // 检查是否在范围之内
swap(num);
printf("交换后的数字是:%d\n", num);
} else {
printf("输入错误,请输入11-99之间的整数。\n");
}
return 0;
}
```
当你运行程序并输入12时,它会输出21。
阅读全文