1. 程式人生 > >PTA天梯賽練習集 L1-011 A-B (20 分)

PTA天梯賽練習集 L1-011 A-B (20 分)

本題要求你計算A−B。不過麻煩的是,A和B都是字串 —— 即從字串A中把字串B所包含的字元全刪掉,剩下的字元組成的就是字串A−B。

輸入格式:

輸入在2行中先後給出字串A和B。兩字串的長度都不超過10^4 ​​ ,並且保證每個字串都是由可見的ASCII碼和空白字元組成,最後以換行符結束。

輸出格式:

在一行中打印出A−B的結果字串。

輸入樣例:

I love GPLT! It’s a fun game! aeiou

輸出樣例:

I lv GPLT! It’s fn gm!

解題思路:

題目要求列印A-B的結果字串,也就是我們在對A進行輸出時,判斷該字元是否在B中出現,若不出現,則輸出。 可以用一個數組來標記該字元是否在B中出現。

事例程式碼:

#include<stdio.h>

int main()
{
    char a[10005],b[10005];
    int mark[1000]={0};
    int i;
    gets(a);
    gets(b);
    for (i = 0; b[i]!='\0';i++)
    {
        mark[b[i]] = 1;//將B中出現的字元的ASCII碼作為下標
    }
    for (i = 0; a[i]!='\0'; i++)
    {
        if (mark[a[i]]==0)
            printf("%c",a[i]
); } }