时间限制: 1 Sec 内存限制: 128 MB
提交: 3535 解决: 995
[提交][状态][讨论版]
编写一个程序,从键盘输入读取C源代码,并验证所有的花括号都正确地成对出现。
若干行英文程序代码
若全部正确输出"Yes",若出现不匹配的右花括号,则输出"No(-1)"并结束程序,
若有不匹配的左花括号,则输出"No(不匹配的左花括号个数)"。
while((ch = getchar()) != EOF){
if(ch == '}' && count > 0){
count--; }
}
No(-1)
需要注意的是:文件结束符EOF,在Windows下为组合键Ctrl+Z,在Unix/Linux下为组合键Ctrl+D
- #define _CRT_SECURE_NO_WARNINGS 1
- #include
-
- int main() {
- char ch = '0';
- int count = 0;
- while ((ch = getchar()) != EOF) {
- if (ch == '{') {
- count++;
- }
- if (ch == '}') {
- count--;
- }
- }
- if (count == 0) {
- printf("Yes\n");
- return 0;
- }
- if (count < -1) {
- count = -1;
- }
- printf("No(%d)\n", count);
-
- return 0;
- }