题目描写
计算机系的同学从大1就开始学习程序设计语言了。初学者总是容易写出括号不匹配的程序。至今你依然清楚地记得,那天上机的时候你的程序编译出错,虽然你使尽了吃奶的力气也没有把毛病逮着。你实在没有办法只得举手向老师请教。结果老师走过来1看,板着脸,指着屏幕,很不高兴地冲着你说:“括号!括号!括号没有匹配!”自那以后,你痛定思痛决定写1个程序,帮助分析程序的括号是不是出错,以避免再出洋相。为了简化工作,你假定程序的注释、字符常量、字符串常量中都不包括括号,同时你只检查()[]{}这3种括号。
输入
输入为多组数据,最后1组数据以@结束,其余每组数据以#结束。@与#不会出现在正常程序中。每一个程序含有不超过255个括号字符,程序长度不肯定。
输出
每组数据输出1行,如果括号匹配无误则输出"Wonderful",括号匹配出现问题则输出"Be Careful"(请注意大小写和拼写毛病,这些问题都将致使Wrong Answer)。 你只要关心括号是不是匹配,不需要在乎其余的语法毛病。
样例输入
int main() { return 0; } # int main() { @
样例输出
Wonderful Be Careful#include<iostream> #include <stack> using namespace std; char a[3000000]; int main() { stack<char> k; int i; while(cin.getline(a,3000000)) { for(i=0;a[i]!=''&&a[0]!='#'&&a[0]!='@';i++) { if (!k.empty()&&((k.top()-a[i]==⑵)||(k.top()-a[i]==⑴))) { k.pop(); } else if(a[i]==40||a[i]==41||a[i]==91||a[i]==93||a[i]==123||a[i]==125) { k.push(a[i]); } } if(a[0]=='@') { if(k.empty()) { cout << "Wonderful" << endl; } else { cout << "Be Careful" << endl; } break; } if (a[0]=='#') { if(k.empty()) { cout << "Wonderful" << endl; } else { cout << "Be Careful" << endl; } while (!k.empty()) { k.pop(); } } } return 0; }
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
波比源码 » 勤奋的计算机系学生
波比源码 » 勤奋的计算机系学生