用c语言编写交换一个十进制整数(11-99)的个位和十位的数值,输出结果。例如:输入整数12,输出整数21。
时间: 2024-10-18 13:07:47 浏览: 41
在C语言中,我们可以创建一个简单的函数来实现这个需求,这里我们假设输入的数字始终在11到99范围内。以下是代码示例:
```c
#include <stdio.h>
void swap(int num) { // 定义一个函数来交换十位和个位
if (num >= 10 && num <= 99) { // 检查数字是否在给定范围
int first_digit = num / 10; // 取十位
int second_digit = num % 10; // 取个位
num = second_digit * 10 + first_digit; // 交换后重新组合数字
printf("交换后的数字是: %d\n", num);
} else {
printf("输入的数字不在11到99的范围内。\n");
}
}
int main() {
int input;
printf("请输入一个11到99之间的整数: ");
scanf("%d", &input);
swap(input); // 调用swap函数进行交换
return 0;
}
```
当输入12时,它将输出21。
相关问题
用C语言,交换一个十进制整数(11-99)的个位和十位的数值,输出结果。例如:输入整数12,输出整数21。
在C语言中,我们可以使用位操作来实现这个功能,因为整数的每个数字都在二进制表示中有对应的位置。下面是实现该功能的一个简单示例:
```c
#include <stdio.h>
void swap(int num) {
int temp = (num & 0x0F); // 取个位(最后4位)
num = (num >> 4) | (temp << 4); // 将个位移至十位位置,原十位移到更高四位
printf("After swapping: %d\n", num);
}
int main() {
int input;
printf("Enter a two-digit number between 11 and 99: ");
scanf("%d", &input);
// 检查输入是否在范围内
if(input >= 11 && input <= 99) {
swap(input);
} else {
printf("Invalid input! Number should be between 11 and 99.\n");
}
return 0;
}
```
在这个程序中,我们首先将个位数字存储在一个临时变量`temp`中,然后通过右移操作符`>>`移除个位,再用左移操作符`<<`将`temp`插入到原来个位的位置。最后输出修改后的数字。
用C语言交换一个十进制整数(11-99)的个位和十位的数值,输出结果。例如:输入整数12,输出整数21。
在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。
阅读全文