1033 旧键盘打字 (20分)

#include <string.h>
#include <iostream>
using namespace std;

int main()
{
    char damage[70];
    char *word=new char[100005];//不超过10^5
    //char word[10005];一开始写的这个,最后一个测试数据没通过,改成动态分配数组,通过了。
    int w=0;
    fgets(damage, 70, stdin);//输入一行,可以只包含换行符

    cin>>word;
    for(int i=0;i<strlen(word);i++)
    {
        w=0;
        for(int j=0;j<strlen(damage)-1;j++)
        {
            if(word[i]==damage[j])
            {
                w=1;
                break;
            }
            else if(word[i]==damage[j]+32&&word[i]>='a'&&word[i]<='z')
            {
                w=1;
                break;
            }
            else if(damage[j]=='+'&&word[i]>='A'&&word[i]<='Z')
            {
                w=1;
                break;
            }
        }
        if(w==0)
            cout<<word[i];
    }
    cout<<endl;
    return 0;
}

 一共分为三种情况,1. 相等 2.小写字母 3. +上档键 

原文地址:https://www.cnblogs.com/QRain/p/12251021.html