编辑代码

#include <stdio.h>
void fun(int m[],int n,int len1,int xu);
int main () {
   int a[11]={100,90,80,70,60,50,40,30,20,10};
   int i,b;
   int xu=1;//假设一开始有序
   int len=sizeof(a)/sizeof(int);
   //判断顺序,升序或者降序
   printf("什么顺序?");
   for(i=0;i<=len;i++){
       if(a[i]>a[i+1]){
           printf("降序\n");
           xu=0;
           break;
       }
     
       if(a[i]<a[i+1]){
           printf("升序\n");
           break;
       }
  
   }
   //原来的数组
   for(i=0;i<=len;i++){
       printf("%d\t",a[i]);
   }
   printf("\n");
   //输入这个数
   printf("please input a number:");
   scanf("%d",&b);
   printf("b=%d\n",b);
   //引用函数
    fun(a,b,len,xu);
for(i=0;i<len;i++){
    printf("%d\t",a[i]);
}
    return 0;
}  
void fun(int m[],int n,int len1,int xu){
    int i,t,j;
 if(xu==1){   
    if(n>m[len1-2]){
         m[len1-1]=n;
    }
    else{
        //开始插入,从后向前移动
    for(i=0;i<len1;i++){
        if(m[i]<n){
            continue;
        }
        else{
            for(j=len1-1;j>i;j--){
                m[j]=m[j-1];
            }
        }
         m[i]=n;
        break;
    }
    }
}
else{ if(n<m[len1-1]){
         m[len1-1]=n;
    }
    else{
        //开始插入,从后向前移动
    for(i=0;i<len1;i++){
        if(m[i]>n){
            continue;
        }
        else{
            for(j=len1-1;j>i;j--){
                m[j]=m[j-1];
            }
        }
         m[i]=n;
        break;
    }
}
}
}