交换一个十进制整数的个位和十位的数值,输出结果。c语言
时间: 2024-10-21 15:03:51 浏览: 14
在C语言中,你可以通过一个简单的临时变量来实现这个功能。假设我们要交换一个整数 `num` 的个位和十位,可以按照下面的步骤操作:
```c
#include <stdio.h>
// 函数声明
int swap(int num);
int main() {
int num;
// 输入一个十进制整数
printf("请输入一个十进制整数: ");
scanf("%d", &num);
// 调用函数进行个位和十位的交换
num = swap(num);
// 输出交换后的结果
printf("交换个位和十位后的数字是: %d\n", num);
return 0;
}
// 定义swap函数
int swap(int num) {
int last_digit = num % 10; // 取个位
num = num / 10; // 移除个位
num = num * 10 + last_digit; // 将移除个位后的数乘以10并加上原个位
return num;
}
```
当你运行这个程序时,它会提示你输入一个整数,然后输出交换后的结果。
相关问题
用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。
用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`插入到原来个位的位置。最后输出修改后的数字。
阅读全文