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)