L1-011A-B(20分)
阿新 • • 發佈:2020-12-31
L1-011A-B(20分)
本題要求你計算A−B。不過麻煩的是,A和B都是字串 —— 即從字串A中把字串B所包含的字元全刪掉,剩下的字元組成的就是字串A−B。
輸入格式:
輸入在2行中先後給出字串A和B。兩字串的長度都不超過104,並且保證每個字串都是由可見的ASCII碼和空白字元組成,最後以換行符結束。
輸出格式:
在一行中打印出A−B的結果字串。
輸入樣例:
I love GPLT! It's a fun game!
aeiou
輸出樣例:
I lv GPLT! It's fn gm!
程式碼:
#include<stdio.h> #include<string.h> int variable[256]={0};//Ascll碼只有128位,所以開了256位空間足夠大了。 int main () { char s1[10010],s2[10010]; gets(s1); gets(s2); for(int i=0;i<strlen(s2);i++)//將s2中所有字元標記在variable陣列中。 { variable[s2[i]]=1; } for(int i=0;i<strlen(s1);i++)//將沒有標記的字元輸出來,沒有標記說明s2中沒有此字元,所以可以直接輸出。 { if(variable[s1[i]]!=1) { printf("%c",s1[i]); } } return 0; }
總結:題目思路很簡單,不夠這個方法的運算時間比較長了,不是最好的,只是方法很簡單湊合可以用。