C语言,用指针的方法处理,输入10个整数,将其中最小的数与第一个数交换,把最大的数与最后一个数交换
时间: 2024-03-13 18:45:44 浏览: 56
好的,这个问题我可以帮你解决。下面是代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[10];
int i, max_index = 0, min_index = 0;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
swap(&arr[0], &arr[min_index]); // 将最小的数与第一个数交换
swap(&arr[9], &arr[max_index]); // 将最大的数与最后一个数交换
printf("交换后的数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序中用了一个 `swap` 函数,它的作用是交换两个整数的值。在 `main` 函数中,首先输入 10 个整数,然后找出最大值和最小值的下标,最后用 `swap` 函数将最小的数与第一个数交换,将最大的数与最后一个数交换,最后输出交换后的数组。
阅读全文