北邮考研复试C语言上机题目精选

2020-01-06 13:42:03王旭

YES

注意事项:

开始提交了3次,都是wa,发现有一种测试用例我无法通过,也是上个代码错误的地方,测试用例如下:

样例输入:1122335566778899(不连续)12345

样例输出:yes

AC代码:

 

 
  1. #include <stdio.h>   #include <stdlib.h>  
  2. #include <string.h>    
  3. int main()   {  
  4. char a[101];   char b[101];  
  5. char ch, key;   int i, lena, lenb, flag;  
  6. int count[11];    
  7.   while(scanf("%s",a) != EOF)  
  8. {   //接收回车符  
  9. ch = getchar();   //接收出牌  
  10. scanf("%s",b);   ch = getchar();  
  11. //长度   lena = strlen(a);  
  12. lenb = strlen(b);   //初始化  
  13. memset(count,0,sizeof(count));   //遍历手牌  
  14. for(i = 0; i < lena; i ++)   {  
  15. count[a[i] - '0'] ++;   }  
  16. //检测对方出牌   switch(lenb)  
  17. {   case 1:  
  18. case 2:   case 3:  
  19. case 4:   flag = 0;  
  20. for(key = b[0] - '0' + 1; key <= 9; key ++)   {  
  21. if(count[key] >= lenb)   {  
  22. flag = 1;   break;  
  23. }   }  
  24. break;   case 5:  
  25. flag = 0;   for(key = b[0] - '0' + 1; key < 9; key ++)  
  26. {   if(count[key] > 0 && count[key + 1] > 0 && count[key + 2] > 0 && count[key + 3] > 0 && count[key + 4] > 0)  
  27. {   flag = 1;