交换顺序的程序怎么写

时间:2025-01-26 23:52:06 单机游戏

交换顺序的程序可以通过多种方式实现,以下是几种常见的方法:

方法一:使用指针

```c

include

void swap(int *p1, int *p2) {

int temp = *p1;

*p1 = *p2;

*p2 = temp;

}

int main() {

int n1, n2;

int *q1, *q2;

printf("请输入两个整数:");

scanf("%d %d", &n1, &n2);

q1 = &n1;

q2 = &n2;

swap(q1, q2);

printf("交换后的顺序为:%d %d\n", n1, n2);

return 0;

}

```

方法二:使用数组和循环

```c

include

void swap1(int *X, int i, int j) {

int temp = X[i];

X[i] = X[j];

X[j] = temp;

}

int main() {

int List;

int i, N = 10;

for (i = 0; i < N; i++) {

List[i] = i;

}

printf("原始数组:");

for (i = 0; i < N; i++) {

printf("%d ", List[i]);

}

printf("\n");

swap1(List, 4, 9);

printf("交换后的数组:");

for (i = 0; i < N; i++) {

printf("%d ", List[i]);

}

printf("\n");

return 0;

}

```

方法三:使用递归

```c

include

void swap(int *a, int *b) {

int temp = *a;

*a = *b;

*b = temp;

}

void swap_recursive(int arr[], int i, int j) {

if (i < j) {

swap(&arr[i], &arr[j]);

swap_recursive(arr, i + 1, j - 1);

}

}

int main() {

int arr[] = {1, 2, 3, 4, 5};

int size = sizeof(arr) / sizeof(arr);

printf("原始数组:");

for (int i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

printf("\n");

swap_recursive(arr, 0, size - 1);

printf("交换后的数组:");

for (int i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

```

方法四:使用标准库函数

```c

include

include

int main() {

int arr[] = {1, 2, 3, 4, 5};

int size = sizeof(arr) / sizeof(arr);

printf("原始数组:");

for (int i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

printf("\n");

for (int i = 0; i < size / 2; i++) {

swap(&arr[i], &arr[size - i - 1]);

}

printf("交换后的数组:");

for (int i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

```

这些方法都可以实现两个整数的交换顺序。你可以根据自己的需求和编程习惯选择合适的方法。