PAT考试乙级1033(C语言实现)重点题目 部分正确(已解决)

#include 
#include 
#include 
int main(){
    char br[300]={0};
    char str[100010];
    int i,j;
    scanf("%s%s",br,str);
    for(i=0;i<strlen(br);i++){
        br[tolower(br[i])]=1;
    }
    for(j=0;j<strlen(str);j++){
        if(br[tolower(str[j])]!=1){
            if(br['+']==1&&('A'<=str[j]&&str[j]<='Z')){
                continue;
            }
            printf("%c",str[j]);
        }
    }
    return 0;
}

总结:
1、答案部分正确 一个答案错误 一个运行超时 尚未解决。

第一次更新:
将字符串读入修改后仍有一个运行超时

第二次修改:
将字符串长度函数放到了循环外部,运行通过。

最终代码:

#include 
#include 
#include 
int main(){
    char br[300]={0};
    char str[100010];
    int i,j,l1,l2;
    //scanf("%s%s",br,str);
    gets(br);
    gets(str);
    l1=strlen(br);//避免每次循环都要判断一次,运行超时。
    l2=strlen(str);
    for(i=0;itolower(br[i])]=1;
    }
    for(j=0;jif(br[tolower(str[j])]!=1){
            if(br['+']==1&&('A'<=str[j]&&str[j]<='Z')){
                continue;
            }
            printf("%c",str[j]);
        }
    }
    return 0;
}

你可能感兴趣的:(PAT)