输入10个整数,用一个数组存储,然后调用具有指针参数的函数,实现将其中最大的数和最后一个数交换,将其中最小的和第一个数交换。
时间: 2024-03-26 10:40:57 浏览: 18
好的,我可以帮你解决这个问题。以下是代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void swap_min_max(int *arr, int len) {
int min = 0, max = 0;
for (int i = 1; i < len; i++) {
if (arr[i] < arr[min]) {
min = i;
}
if (arr[i] > arr[max]) {
max = i;
}
}
swap(&arr[min], &arr[0]);
if (max == 0) {
max = min;
}
swap(&arr[max], &arr[len-1]);
}
int main() {
int arr[10];
printf("输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
swap_min_max(arr, 10);
printf("交换后的结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序中,`swap` 函数用来交换两个整数的值,而 `swap_min_max` 函数则用来找到数组中最小值和最大值的索引,并将其与第一个数和最后一个数进行交换。最后在 `main` 函数中输入10个整数,调用 `swap_min_max` 函数,然后输出交换后的结果。
希望这个程序能够帮到你!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)