填词

View Code
 1 /*填词
 2 
 3   输入m行n列的字符,再输入p行的字符串,找出m*n在p中没有出现的字符,并把这些字符按字母表输出。
 4 
 5 Sample Input
 6 3 3 2
 7 EBG
 8 GEE
 9 EGE
10 
11 BEG
12 GEE
13 
14 Sample Output
15 
16 EEG
17 */
18 #include<stdio.h>
19 int main()
20 {
21     int c[26];
22     int m,n,p,i,j,k;
23     char str1[100],str2[100];
24     scanf("%d%d%d",&m,&n,&p);
25     for(i=0;i<26;i++)//赋初值(将字母表中的每一个字母个数值置零)
26         c[i]=0;
27     for(j=0;j<m;j++)
28     {
29         scanf("%s",str1);//读入m*n的矩阵,并记录矩阵中每个字母出现的次数
30         for(i=0;str1[i]!='\0';i++)
31             c[str1[i]-'A']++;
32     }
33     for(j=0;j<p;j++)
34     {
35         scanf("%s",str2);//读入p个字符串,并将出现过的字符在上一段的累积数组中去掉
36         for(i=0;str2[i]!='\0';i++)
37             c[str2[i]-'A']--;
38     }
39     for(j=0;j<26;j++)
40     {
41         if(c[j]!=0)//将数组大于零所相对应的字符读出
42         {
43             for(i=0;i<c[j];i++)
44                 printf("%c",j+'A');
45         }
46     }
47     printf("\n");
48     return 0;
49 }
50     

 

posted @ 2012-06-21 08:46  zlyblog  阅读(160)  评论(0编辑  收藏  举报