美文网首页
杭电OJ-2020

杭电OJ-2020

作者: 小可爱你要快快长大 | 来源:发表于2017-05-18 12:26 被阅读22次
    #include<stdio.h>
    #include<math.h>
    int main(){
        int n,j,i;
        double a[101];
        while(scanf("%d",&n)!=EOF){
            a[0]=0;            //a[0]必须要有初值(用于确定数组a的地址)才能往数组里继续存数
            if(n==0)
                break;
            for(i=1;i<=n;i++)
                scanf("%lf",&a[i]);    //double型输入用%lf
            for(i=2;i<=n;i++)          //直接插入排序
                if(fabs(a[i])<fabs(a[i-1])){
                    a[0]=a[i];
                    a[i]=a[i-1];
                    for(j=i-2;fabs(a[0])<fabs(a[j]);--j)
                        a[j+1]=a[j];
                    a[j+1]=a[0];
                }
            for(i=n;i>=1;i--){    //i--不是i++
                if(i>1)
                    printf("%.0f ",a[i]);    //double型输出用%f
                else
                    printf("%.0f\n",a[i]);
            }
        }
        return 0;
    }
    

    【转】网上快排和冒泡法参考:http://www.cnblogs.com/xinmenghuairi/archive/2012/05/25/2517383.html

    相关文章

      网友评论

          本文标题:杭电OJ-2020

          本文链接:https://www.haomeiwen.com/subject/ehrsxxtx.html