运用C语言指针方法输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后一个对换。
时间: 2023-12-04 11:14:03 浏览: 77
好的,这个问题可以通过以下的代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int arr[10];
int min = 0, max = 0;
// 输入 10 个整数
printf("请输入 10 个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 查找最小值和最大值的下标
for (int i = 1; i < 10; i++) {
if (arr[i] < arr[min]) {
min = i;
}
if (arr[i] > arr[max]) {
max = i;
}
}
// 将最小值与第一个数对换
swap(&arr[0], &arr[min]);
// 将最大值与最后一个数对换
swap(&arr[9], &arr[max]);
// 输出交换后的数组
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这里定义了一个 `swap` 函数,用于交换两个变量的值。在主函数中,首先输入 10 个整数,并查找其中最小值和最大值的下标。然后调用 `swap` 函数将最小值与第一个数对换,将最大值与最后一个数对换,最后输出交换后的数组。
阅读全文