1 条题解

  • 1
    @ 2024-7-25 10:28:52
    #include<iostream>
    #include<cstring>
    using namespace std;
    struct zd{//zd为字典的中文缩写
    	string a;//A语言
    	string b;//B语言
    };
    zd sr[200];
    string word;//最好定在全局变量
    int main()
    {
    	int N;
    	cin>>N;
    	for(int i=1;i<=N;i++)
    	{
    		//将字典进行输入
    		cin>>sr[i].a;
    		cin>>sr[i].b;
    	}
    	string awz;//awz A语言文章中文缩写
    	cin>>awz;
    	int len=awz.length();//使用length()获取输入文章的长度,以便访问
    	for(int i=0;i<len;i++)
    	{
    		if(awz[i]>='a'&&awz[i]<='z')
    		{
    			word+=awz[i];
    		}
    		else
    		{
    			if(word!="")
    			{
    				bool find=false;
    				for(int i=1;i<=N;i++)
    				{
    					if(sr[i].a==word)//将word和字典进行对比
    					{
    						cout<<sr[i].b;
    						find=true;
    					}
    				}
    				if(find==false)
    				{
    					cout<<"UNK";
    				}
    				word="";//word变为空,以便进行下一次
    			}
    			cout<<awz[i];//要在else后添加,因为前面除了小写字母,剩下的就是符号了
    		}
    	}
    	//在最后对word字符串进行判断
    	if(word!="")
    	{
    		bool find=false; 
    		for(int i=1;i<=N;i++)
    		{
    			if(sr[i].a==word)//将word和字典进行对比
    			{
    				cout<<sr[i].b;
    				find=true;
    			} 
    		} 
    		if(find==false)
    		{
    			cout<<"UNK";
    		}
    	}
    	return 0;
    }
    
    
    • 1

    信息

    ID
    2283
    时间
    1000ms
    内存
    512MiB
    难度
    9
    标签
    递交数
    10
    已通过
    7
    上传者