C语言:用指针,/*输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,并输出对换后的10个数*/
时间: 2023-12-04 20:03:08 浏览: 128
下面是用指针实现的C语言代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void swapMinMax(int *arr, int len) {
int *max = arr, *min = arr;
for (int i = 1; i < len; ++i) {
if (arr[i] > *max) {
max = arr + i;
} else if (arr[i] < *min) {
min = arr + i;
}
}
swap(arr, min);
swap(arr + len - 1, max);
}
int main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; ++i) {
scanf("%d", &arr[i]);
}
swapMinMax(arr, 10);
printf("对换后的10个数为:\n");
for (int i = 0; i < 10; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这里定义了一个 `swap` 函数用于交换两个整数值,以及一个 `swapMinMax` 函数用于找到最小值和最大值并进行交换。在 `swapMinMax` 函数中使用了指针来遍历数组并记录最小值和最大值的位置。最后在 `main` 函数中输入数组元素,调用 `swapMinMax` 函数进行交换,输出结果。
阅读全文