首页 > 代码库 > PAT Basic Level 1033

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