还是没明白题意, 瞎写啊.
#include <stdio.h> int docheck (char *); int main () { int line,i; scanf("%d",&line); char checkpat[line-1][200]; for (i=0;i<line;i++) { scanf("%s",checkpat[i]); } for (i=0;i<line;i++) { if (docheck(checkpat[i])) { printf("YES\n"); } else { printf("NO\n"); } } return 0; } int docheck (char * patform ) { int count_a=0; int count_b=0; char * k; char * t=patform; int i=0; if (*t!='A' && *t!='P') { return 0; } else if (*t=='A') { t++; if ( *t!='P' ) { return 0; } else { t++; } } else { t++; } while ( *t!='T' ) { if (*t=='A') { t++; count_a++; } else { return 0; } } t++; if (*t=='\0') { return 1; } else { while ( *t!='\0' ) { if (*t=='A') { t++; count_b++; } else { return 0; } } } if (count_a == count_b) { return 1; } else { return 0; } }