新财界房产,p993,保安患癌被开除
编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现。例如:
输入:{}{},成功匹配。
输入:{}{{}},成功匹配
输入:{}}{,匹配不成功
输入:}}{{,匹配不成功
输入:{}},匹配不成功
输入:}{}{{,匹配不成功
解:程序:
#include <stdio.h> #include <stdlib.h> 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个
请按任意键继续. . .
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论