輸入:只能輸入A-Z(不區分大小寫),0-9和下劃線; 第一行輸入應輸入字元串,第二行輸入實際輸入字元串。 輸出:按大寫輸出缺少的字元,每個字元輸出一次。 註意: 1、由於不區分大小寫,則需要將小寫字母識別為大寫字母; 2、保證每個字元只出現一次。 思路: 1、將所有的字母都轉化為大寫字母; 2、挨 ...
輸入:只能輸入A-Z(不區分大小寫),0-9和下劃線;
第一行輸入應輸入字元串,第二行輸入實際輸入字元串。
輸出:按大寫輸出缺少的字元,每個字元輸出一次。
註意:
1、由於不區分大小寫,則需要將小寫字母識別為大寫字母;
2、保證每個字元只出現一次。
思路:
1、將所有的字母都轉化為大寫字母;
2、挨個枚舉第一個字元串,如果在第二個字元串中沒有出現,且HashTable數組為false,則輸出,HashTable值改為true。
1 #include<cstdio>
2 #include<cstring>
3 int main(){
4 char str1[100],str2[100];
5 bool HashTable[128]={false}; //標記字元是否被輸出,所有字元的ASCII碼不會超過128
6 scanf("%s",str1);
7 scanf("%s",str2);
8 int len1=strlen(str1);
9 int len2=strlen(str2);
10 for(int i=0;i<len1;i++){//枚舉第一個字元串的每個字元
11 int j;
12 char c1,c2;
13 for(j=0;j<len2;j++){//枚舉第二個字元串的每一個字元
14 c1=str1[i];
15 c2=str2[j];
16 if(c1>='a'&&c1<='z') c1-=32;
17 if(c2>='a'&&c2<='z') c2-=32;
18 if(c1==c2) break;
19 }
20 if(j==len2&&HashTable[c1]==false){
21 printf("%c",c1);
22 HashTable[c1]=true;//c1為該字元所對應的ASCII碼
23 }
24 }
25 return 0;
26 }