P1093列A + B

列1093 A + B(20分)
 

二つの文字列が与えられ  、Aと  B、この質問を出力する必要があります  A + B、すなわち、二つの文字列の労働組合。出力するために必要な  A、出力  Bが、繰り返される文字は拒否しなければなりません。

入力フォーマット:

入力は、それぞれ二列に与えられていない  A及び  B、もはやよりも  (126にすなわちコード値32)のASCII文字から見た、図1及びスペース、キャリッジリターン、空の文字列によって、非同定の終わり。

出力フォーマット:

要求された出力の問題は線で表面  Aおよび  Bと。

サンプル入力:

This is a sample test
to show you_How it works
 

出力例:

This ampletowyu_Hrk

 

私は震え書いて   いる間(〜のscanf(%cの、&​​CH))を   、Aさんは、実際には本当に、ZU﹏⊂、私は、入力された重複排除の配列として128サイズの配列を取りました文字がマークされ、それが不完全で起こるかラップ出力スキップされますが、特別な処理を必要とする「\ 0」と「\ n」のことに留意しなければならない、またはそうでなければ出力することができる第二の時間を入力します。状況。そこ文字の配列を初期化するために覚えている、または他の百分の一のC出力を持っていますが、このコードは非常に汎用性ではありません

書式#include <stdio.hに> 
する#include <stdlib.h>に含まれ
 ます。#define MAX_SIZE 1000000

int型メイン(無効)
{
    CHAR CH;
    int型のカウント= 0 ;
    INTのフラグ[ 128 ] = { 1 }。
    チャー STR [MAX_SIZE] = { 0 }。

    フラグ[(INT' \ n ' ] = 1 しばらく(〜のscanf(" %cの"、&CH))
    {
        もし(フラグ[(INT )CH])
        {
            続け;
        }
        フラグ[(INT)CH] = 1 
        STR [数 ++] = CH;
    }

    printf(" %sの\ n " 、STR)。

    リターン 0 ;
}

2020年2月15日午前11時36分51秒更新日:

まあ、私はこのように多くのU•S工場•* Uポイントがされて感じます

書式#include <stdio.hに> 
する#include <stdlib.h>に含ま

int型メイン(無効
{
    INTのフラグ[ 128 ] = { 0 }。
    char型のC;
    以下のためにINT iが= 0 ; I < 2 ; I ++ 
    { // 二つの文字列、2サイクル
        一方((C = GETCHAR())!= ' \ N- ' 
        { // '\ n'が入力された文字列が終了か否かを判断するか否かを入力
            IF(のフラグ[(INT)C] == 0 
            {
                フラグ[(INT)C] = 1 
                printf(" %のC " 、C)。
            }
        }
    }
    リターン 0 ;
}

要するに、配列は直接、出力側の仕上げをストリーキングしないでください。(私は考えRTTを終えました)

PATは容易ではない、紳士は、お互いを励まします!

おすすめ

転載: www.cnblogs.com/daker-code/p/12311015.html