题目描述
编写一个程序,从键盘输入读取C源代码,并验证所有的花括号都正确地成对出现。
输入
若干行英文程序代码
输出
若全部正确输出"Yes",若出现不匹配的右花括号,则输出"No(-1)"并结束程序,
若有不匹配的左花括号,则输出"No(不匹配的左花括号个数)"。
样例输入
while((ch = getchar()) != EOF){
if(ch == '}' && count > 0){
count--; }
}
样例输出 复制
No(-1)
提示
需要注意的是:文件结束符EOF,在Windows下为组合键Ctrl+Z,在Unix/Linux下为组合键Ctrl+D
完整代码如下:
#include<stdio.h>
int main(){
char ch = '0';
int count = 0;
while((ch=getchar()) != EOF){
if(ch=='{'){
count++;
}
if(ch=='}'){
count--;
}
}
if(count==0){
printf("Yes");
}else if(count <= -1){
printf("No(-1)\n");
}else {
printf("No(%d)\n", count);
}
}