编写c语言程序编写一个函数,可以从数组x的10个元素中找出最大值元素和最小值元素,将其中最小值元素与数组的第个元素交换 ,最大值元素 与最后个元素交换,然后输出交换后的10个元素。 定义变量max和min分别用来存放最大值和最小值,变量i和j分别用来存放最大值元素和最小值元索的下标。
时间: 2024-02-24 19:53:36 浏览: 29
好的,下面是代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
void findMinMax(int x[], int n){
int max = x[0], min = x[0], i, j;
for(i=0; i<n; i++){
if(x[i] > max){
max = x[i];
j = i;
}
if(x[i] < min){
min = x[i];
j = i;
}
}
swap(&x[0], &x[j]); //交换最小值元素和第一个元素
j = 0;
for(i=0; i<n; i++){
if(x[i] > max){
max = x[i];
j = i;
}
}
swap(&x[n-1], &x[j]); //交换最大值元素和最后一个元素
printf("交换后的数组为:");
for(i=0; i<n; i++){
printf("%d ", x[i]);
}
printf("\n");
}
int main(){
int x[10] = {3, 9, 2, 5, 8, 1, 0, 6, 7, 4};
findMinMax(x, 10);
return 0;
}
```
输出:
```
交换后的数组为:0 9 2 5 8 1 3 6 7 4
```