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 } 

 

posted @ 2016-10-19 11:20  Ponytai1  阅读(243)  评论(0编辑  收藏  举报