pta乙级1033(C语言)散列表解法

#include"stdio.h"
#include"string.h"
int main()
{
    int flag=1;
    char w[100010],ch[100010];
    int a[200]={0};
    gets(w);
    gets(ch);
    int t1=strlen(w),t2=strlen(ch);
    int i;
    for(i=0;i<t1;i++)  
    {
        if(w[i]>=65&&w[i]<=90)  
        {
            a[w[i]+32]=1;
            a[w[i]]=1;
        }
        else a[w[i]]=1;
    }
    for(i=0;i<t1;i++)
    {
        if(w[i]=='+') 
        {
            flag=0;
            break;
        }
    }
    if(flag==1)
    {
        for(i=0;i<t2;i++)
        {
            if(a[ch[i]]==0) 
            {
                printf("%c",ch[i]);
            }
        }
    }
    else if(flag==0)
    {
        for(i=0;i<t2;i++)
        {
           
            if((ch[i]>=65&&ch[i]<=90)||a[ch[i]]==1) ;
            else    printf("%c",ch[i]);
        }
    }
    printf("\n");
    return 0;
}

posted @ 2022-04-09 22:14  cxy8  阅读(21)  评论(0编辑  收藏  举报