PAT Basic Level 1033

Posted Ponytai1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT Basic Level 1033相关的知识,希望对你有一定的参考价值。

AC代码

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main ()
 4 {
 5     int completetrue = 0; //1代表有错 
 6     int upperlock = 0;  //1代表大写无法输出
 7     char faultkey[100];
 8     char input[100000];
 9     gets(faultkey);
10     scanf("%s",&input);
11     int length_faultkey;
12     int length_input;
13     length_faultkey = strlen(faultkey);
14     length_input = strlen(input);
15     int i;
16     for(i = 0;i < length_faultkey;i++)
17     {
18         if(faultkey[i] == +)
19         {
20             upperlock = 1;
21             break;
22         }
23     }
24     int i_faultkey;
25     for(i = 0;i < length_input;i++)
26     {
27         for(i_faultkey = 0;i_faultkey < length_faultkey;i_faultkey++)
28         {
29             if(input[i] == faultkey[i_faultkey])        //检测数字,符号,大写字母 
30             break;
31             if(input[i] >=a&&input[i] <= z)      //检测小写字母,一开始直接没写这个if造成可能其他符号加上转大写的ASCII码可能变成小写字母              
32             {
33                 if(input[i] + (A - a) == faultkey[i_faultkey])
34                 break;
35             }
36         }
37         if(upperlock == 1 &&(input[i] >= A &&input[i] <= Z)) //大写的英文字母不输出 
38         {
39             continue;
40         }
41         if(i_faultkey == length_faultkey)
42         {
43             completetrue = 1;
44             printf("%c",input[i]);
45         }
46     }
47     if(completetrue == 0)
48     printf("\n");
49     return 0;
50      
51 } 

 

以上是关于PAT Basic Level 1033的主要内容,如果未能解决你的问题,请参考以下文章

PAT (Basic Level) Practise 1040 有几个PAT(DP)

PAT (Advanced Level) 1033. To Fill or Not to Fill (25)

PAT Basic Level 1009

PAT Basic Level 1002

PAT Basic Level 1036

JAVA1003 我要通过!(20分) PAT乙级 PAT (Basic Level)Practice (中文)