用指针实现把数组的最小元素与第一个元素交换

来源:互联网 发布:智能化网络综合布线 编辑:程序博客网 时间:2024/05/02 09:18

 #include"stdio.h"

void Print(int *p){                    //输入数组元素
    
    int i;
    for(i = 0;i < 5;i++){
        printf("%d ",*(p+i));
    }
}

void Process(int *p){
    int min = *p;
    int i,j=0,temp;
    for(i=0;i<5;i++){
    
        if(*(p+i) < min){    
            min = *(p+i);
            j=i;
        }
    }
    
    temp = *p;                         //把最小的数和第一个交换位置
    *p = *(p+j);
    *(p+j) = temp;

    Print(p);
}

void ShuRu(){                       //输入元素
    
    int a[5];
    int i;
    for(i = 0;i < 5;i++){
        
        scanf("%d",&a[i]);
    
    }

    Process(a);
    
    //Print(a);
}


void main(){
    

    ShuRu();          //输入5个数

}

原创粉丝点击