I表示入栈,O表示出栈
#include<stdio.h>
#include<stdlib.h>
int Judge(char a[]) {
int i = 0;
int j=0, k=0;
while (a[i]!='\0') {
switch (a[i]){
case 'I':
j++;
break;
case 'O':
k++;
if (j < k) {
printf("不合法!");
exit(0);
}
}
i++;
}
if (j != k)
printf("非法");
else {
printf("合法!");
}
}
int main() {
char a[]="IOIOO";
Judge(a);
return 0;
}