C语言之数组求中位数-封装函数

int getMid(int *ptr, int len); 
Action() 
{   
    //求int a[]={12,43,56,14,78,16,50,26,30,40};的中位数 
    int a[]={12,43,56,14,78,16,50,26,30,40}; 
    int len=sizeof(a)/sizeof(int); 
    getMid(a,len); 
  




    return 0; 



    int getMid(int *ptr, int len){ 
    
    int *p=ptr; 
    int *p1=p+1; 
    int temp; 


        lr_output_message("-----------%d",len); 
    
    for(;p<(ptr +len-1);p++){ 
        for(p1=p+1;p1<(ptr + len);p1++){ 
            if(*p>*p1){ 
                temp=*p; 
                *p=*p1; 
                *p1=temp; 
            } 
        } 
    } 


    for(p=ptr;p<(ptr+len);p++){ 
        lr_output_message("%d",*p); 
    } 


    if(len %2==1){ 


        p=ptr; 


        lr_output_message("数组的中位数是:%d",*(p+((len-1)/2))); 


    } 


    if(len %2 ==0) 


    {   p=ptr; 
        
        lr_output_message("数组的中位数是:%d",(*(p+((len/2)-1)) + *(p+((len/2))))/2); 


    } 


    return 0; 


    }

猜你喜欢

转载自blog.csdn.net/qq_24644517/article/details/80795797
今日推荐