编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现,
例如:
输入:{}{},成功匹配。
输入:{}{{}},成功匹配
输入:{}}{,匹配不成功
输入:}}{{,匹配不成功
输入:{}},匹配不成功
输入:}{}{{,匹配不成功
解:程序:
#include #include int main(){int count = 0;char ch;printf("请输入一组花括号:");while ((ch = getchar()) != EOF)//用Ctrl+Z结束{if (ch == '{'){count++;}else if (ch == '}'){if (count == 0){printf("匹配不成功\n");}else{count--;}}}if (count == 0){printf("匹配成功\n");}else{printf("匹配不成功\n");}printf("多余的'{'为%d个\n", count);system("pause");return 0;}
结果1:
请输入一组花括号:{{{}{{}
^Z
匹配不成功
多余的'{'为3个
请按任意键继续. . .
结果2:
请输入一组花括号:{{{}}}
^Z
匹配成功
多余的'{'为0个
请按任意键继续. . .