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

来源:互联网 发布:金相自动分析软件 编辑:程序博客网 时间:2024/05/22 14:33
#include <stdio.h>#include <string.h>#include <ctype.h>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 <stdio.h>#include <string.h>#include <ctype.h>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;i<l1;i++){        br[tolower(br[i])]=1;    }    for(j=0;j<l2;j++){        if(br[tolower(str[j])]!=1){            if(br['+']==1&&('A'<=str[j]&&str[j]<='Z')){                continue;            }            printf("%c",str[j]);        }    }    return 0;}
阅读全文
0 0
原创粉丝点击