8.5 定义一个函数,将数组中最大值及最小值交换位置。要求:在main函数中定义数组,在子函数中用指针实现交换。交换完成后,打印输出交换后的数组元素。

#include<stdio.h>
#define M 10
void exchange(int *s);

int main(void)
{
    int source[M]={2,12,34,21,33,1,-12,-23,90,0};
    exchange(source);
    for(int i=0;i<M;i++)
    {
        printf("%-5d",source[i]);
    }
    return 0;
}
void exchange(int *s)
{
    int *min=&s[0],*max=&s[0];
    for(int i=1;i<M;i++)
    {
        if(s[i]>*max)
        {
            max=&s[i];
        }
        if(s[i]<*min)
        {
            min=&s[i];
        }
    }
    int tmp;
    tmp=*min;
    *min=*max;
    *max=tmp;
}

 

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒