用C语言写三个个交换两数位置的代码
时间: 2023-08-31 12:20:30 浏览: 115
### 回答1:
下面是使用C语言写的三个交换两个数的代码,你可以选择其中一个进行测试:
方法一:
```
#include <stdio.h>
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int x, y;
printf("请输入两个数字,用空格分开:");
scanf("%d %d", &x, &y);
printf("交换前:x=%d, y=%d\n", x, y);
swap(&x, &y);
printf("交换后:x=%d, y=%d\n", x, y);
return 0;
}
```
方法二:
```
#include <stdio.h>
int main()
{
int x, y, temp;
printf("请输入两个数字,用空格分开:");
scanf("%d %d", &x, &y);
printf("交换前:x=%d, y=%d\n", x, y);
temp = x;
x = y;
y = temp;
printf("交换后:x=%d, y=%d\n", x, y);
return 0;
}
```
方法三:
```
#include <stdio.h>
int main()
{
int x, y;
printf("请输入两个数字,用空格分开:");
scanf("%d %d", &x, &y);
printf("交换前:x=%d, y=%d\n", x, y);
x = x + y;
y = x - y;
x = x - y;
printf("交换后:x=%d, y=%d\n", x, y);
return 0;
}
```
### 回答2:
以下是三个用C语言编写的交换两个数位置的代码:
1. 使用第三个临时变量进行交换:
```c
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
int temp;
printf("交换前:a = %d, b = %d\n", a, b);
temp = a;
a = b;
b = temp;
printf("交换后:a = %d, b = %d\n", a, b);
return 0;
}
```
2.使用加法和减法进行交换:
```c
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
printf("交换前:a = %d, b = %d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("交换后:a = %d, b = %d\n", a, b);
return 0;
}
```
3. 使用异或运算进行交换:
```c
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
printf("交换前:a = %d, b = %d\n", a, b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("交换后:a = %d, b = %d\n", a, b);
return 0;
}
```
这些代码都能够实现交换两个数的值,但使用不同的方法进行交换。第一个代码使用了临时变量进行交换,第二个代码使用了加法和减法,第三个代码使用了异或运算。三个代码的输出结果都是相同的,输出两个数交换位置后的值。
阅读全文