配列の問題を並べ替えチェックするブルーブリッジカップ試験

タイトル

入力配列の数、同一の予約値、およびサイズによってソート異なる値、最終的な出力を定義します。

例O:10   

                          20 40 32 67 78 89 56 23 1 5 20

                          9

                          1 5 20 23 32 40 56 67 78 89

#include <stdio.h>

int main()
{
    int num=0;
    scanf("%d",&num);
    int a[num];
    for(int i=0; i<num; i++)
    {
        scanf("%d",&a[i]);
    }                                   //读取数组

    for(int i=0; i<num-1; i++)          //查重操作
    {
        for(int j=i+1; j<num; j++)
        {
            int desk;
            desk=a[i];
            if(desk==a[j])
            {
                a[j]=-1;
            }
        }
    }

    for(int i=0; i<num-1; i++)          //冒泡排序
    {
        for(int j=0; j<num-i-1; j++)
        {
            int c;
            if(a[j]>a[j+1])
            {
                c=a[j+1];
                a[j+1]=a[j];
                a[j]=c;
            }
        }
    }

    int num2=0;                        //计数并且输出
    int flag=0;
    for(int i=0; i<num; i++)
    {
        if(a[i]!=-1)num2++;
    }
    printf("%d\n",num2);
    for(int i=0; i<num; i++)
    {
        if(flag==1)printf(" ");
        if(a[i]!=-1)
        {
            flag=1;
            printf("%d",a[i]);
        }

    }

    return 0;
}

コードのコメントに示すように、単純な:説明を考えます

プロセスのリフレクション: 

代替-1冗長重複した値を使用する:アイデアは、重量チェック革新を持っています。(後者はサイズソートやフィルタリングが容易には影響しません)

メソッドのバブル未熟なアプリケーションエラー(メソッドをバブリング位置の値を決定するかを決定するためにヘッドエンドから開始する必要があります!)(2サイクル)

最後に、出力形式は、(FLAG制御スペースの問題を使用)後で食べに余裕がない方法または空白の出力などのスペースのアイデアの最初の出力を参照することができ、このような出力形式「568945231564」を満たした革新的なコントロールがあります!

 

 

 

 

公開された10元の記事 ウォンの賞賛0 ビュー109

おすすめ

転載: blog.csdn.net/weixin_45076393/article/details/104523319