#include<stdio.h> #define S 1000000 int check(char str[]){ int i = 0; int j; int count1 = 0; //规则1,三个同样的字母连续 int count2 = 0; //规则2,两对一样的字母连在一起 int aa = 0; while(str[i]!='\0'){ if(i==0){ count1 = 1; count2 = 0; aa = 0; }else{ if(str[i]==str[i-1]){ count1++; if(count1==2){ aa = 0; count2++; } }else{ count1 = 1; aa++; if(aa==2){ count2 = 0; } } } if(count1==3){ // 出现连续三个相同字符 j = i; while(str[j+1]!='\0'){ str[j] = str[j+1]; j++; } str[j] = '\0'; i = i-2; count1 = 1; count2 = 0; aa = 0; continue; } if(count2==2){ j = i; while(str[j+1]!='\0'){ str[j] = str[j+1]; j++; } str[j] = '\0'; i = i-3; count1 = 1; count2 = 0; aa = 0; continue; } i++; } return 0; } main(){ int i,n; char str[S]; scanf("%d", &n); for(i=0; i<n; i++){ scanf("%s", &str); check(str); printf("%s\n", str); } } 想问下这里的aa变量的作用?
点赞 评论

相关推荐

11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
牛客网
牛客企业服务