4. (程序题) 【描述】 定义和调用swap函数,实现两个整数的交换。函数参数是指针。 在main函数中输入交换前和输出交换后的值。 【输入】 输入的第一行是一个正整数n(1≤n≤100),表示测试数据的总数。 接下来的n行,每行为测试数据,包含交换前的两个整数。 【输出】 输出包括n行,每行为测试结果,包含交换后的两个整数。 【输入示例】 2 12345 67890 213879 7892 【输出示例】 67890 12345 7892 2138794. (程序题) 【描述】 定义和调用swap函数,实现两个整数的交换。函数参数是指针。 在main函数中输入交换前和输出交换后的值。 【输入】 输入的第一行是一个正整数n(1≤n≤100),表示测试数据的总数。 接下来的n行,每行为测试数据,包含交换前的两个整数。 【输出】 输出包括n行,每行为测试结果,包含交换后的两个整数。 【输入示例】 2 12345 67890 213879 7892 【输出示例】 67890 12345 7892 213879C语言
时间: 2024-03-20 21:44:01 浏览: 7
以下是 C 语言的代码实现:
```c
#include <stdio.h>
// 定义 swap 函数,参数为指针
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int a, b;
scanf("%d %d", &a, &b);
// 调用 swap 函数对 a 和 b 进行交换
swap(&a, &b);
printf("%d %d\n", a, b);
}
return 0;
}
```
参考输出:
```
2
12345 67890
67890 12345
213879 7892
7892 213879
```
相关问题
c语言用指针法编写子函数swap(),实现2个整数之间的交换,在主函数中调用该函数。
好的,我知道你的问题了。以下是用指针法编写的`swap()`函数的代码:
```c
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
```
在主函数中调用该函数的代码如下:
```c
int main()
{
int x = 5, y = 10;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
```
在这个示例中,我们定义了两个整数`x`和`y`,然后将它们的地址传递给`swap()`函数。`swap()`函数使用指针法交换了`x`和`y`的值,然后我们在主函数中打印出了交换后的值。
c语言函数swap(),实现2个整数之间的交换,在主函数中调用该函数
好的,以下是用普通变量法编写的`swap()`函数的代码:
```c
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
printf("In swap function: a = %d, b = %d\n", a, b);
}
```
在主函数中调用该函数的代码如下:
```c
int main()
{
int x = 5, y = 10;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(x, y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
```
在这个示例中,我们定义了两个整数`x`和`y`,然后将它们作为参数传递给`swap()`函数。`swap()`函数使用普通变量法交换了`x`和`y`的值,并打印出了交换后的值。然而,在主函数中我们发现`x`和`y`的值并没有交换,这是因为在函数中我们只是交换了本地变量,而没有真正改变`x`和`y`的值。因此,我们需要使用指针或者引用来实现交换。