Description

计算机系的同学从大一就开始学习程序设计语言了。初学者总是容易写出括号不匹配的程序。至今你仍然清楚地记得,那天上机的时候你的程序编译出错,虽然你使尽了吃奶的力气也没有把错误逮着。你实在没有办法只得举手向老师请教。结果老师走过来一看,板着脸,指着屏幕,很不高兴地冲着你说:“括号!括号!括号没有匹配!”自那以后,你痛定思痛决定写一个程序,帮助分析程序的括号是否出错,以免再出洋相。为了简化工作,你假定程序的注释、字符常量、字符串常量中都不包含括号,同时你只检查()[]{}这三种括号。

Input

输入为多组数据,最后一组数据以@结束,其余每组数据以#结束。@与#不会出现在正常程序中。每个程序含有不超过255个括号字符,程序长度不确定。

Output

每组数据输出一行,如果括号匹配无误则输出"Wonderful",括号匹配出现问题则输出"Be Careful"(请注意大小写和拼写错误,这些问题都将导致Wrong Answer)。 你只要关心括号是否匹配,不需要在意其余的语法错误。

Sample Input

int main()
{
return 0;
}
#
int main()
{
@

Sample Output

WonderfulBe 
Careful

#include <iostream>
using namespace std;
int main()
{ //用数组模拟栈的功能
char ch,s[300];
int top=0;
while(cin>>ch)
{
//↓读取到右括号就压入栈
if(ch=='('||ch=='['||ch=='{') s[++top]=ch;
//↓读取到右括号,则让栈弹出最上面的字符,看看是否匹配,匹配则消除该字符
if(ch==')'&&s[top]=='('||ch==']'&&s[top]=='['||ch=='}'&&s[top]=='{') top--;
//↓如果不匹配,则压入栈
else if(ch==')'||ch==']'||ch=='}') s[++top]=ch; //↓遇到“#”和“@”时,对栈里的情况进行判断
if(ch=='#'||ch=='@')
{
//↓如果栈里为空,即括号增删次数相同,意思是各括号匹配,则输出"Wonderful"
if(top==0)
{
cout<<"Wonderful"<<endl;
}else
{
cout<<"Be Careful"<<endl;
}
top=0; //记得把栈里的情况初始化
} //识别到符号“@”,先进行↑上面的判断,再退出↓
if(ch=='@') return 0;
}
return 0;
}

【字符串】ZSC-勤奋的计算机系学生的更多相关文章

  1. Avram Joel Spolsky给计算机系学生的建议

    Avram Joel Spolsky给计算机系的学生给了如下建议:     (1)毕业前练好写作     (2)毕业前学好C语言     (3)毕业前学好微观经济学     (4)不要因为枯燥就不选修 ...

  2. json字符串转为php数组,使用随机字符串生成订单号(学生笔记)

    //提交订单 function add_order(){ session_start(); // var_dump($_SESSION); // die(); // session_destroy() ...

  3. 大约SQL现场“这包括”与“包括在”字符串的写法

     1.字段查找表值"这包括"方法一字符串的所有记录 如果表中有一name场,查询name这包括"乔 - 史密斯"所有记录.能够写sql: Stirng st ...

  4. MySQL学习总结(摘抄)

    1.数据库概述 简 而言之,数据库(DataBase)就是一个存储数据的仓库.为了方便数据的存储和管理,将数据按照特定的规律存储在磁盘上.通过数据库管理系统,可以有 效的组织和管理存储在数据库中的数据 ...

  5. 将js进行到底:node学习笔记2

    node重要API之FS--CLI编程初体验 所谓的"fs"就是file system! 当下几乎任何一门编程语言都会提供对文件系统读写的API,比如c语言的open()函数. 而 ...

  6. SQL知识点、SQL语句学习

    一. 数据库简介和创建1. 系统数据库在安装好SQL SERVER后,系统会自动安装5个用于维护系统正常运行的系统数据库: (1)master:记录了SQL SERVER实例的所有系统级消息,包括实例 ...

  7. 珍藏的数据库SQL基础练习题答案

    自己珍藏的数据库SQL基础练习题答案 一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1 ...

  8. [Mac A]为什么国外程序员爱用 Mac?

    from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...

  9. 自己珍藏的数据库SQL基础练习题答案

    一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1-3所示. 表1-1 Student表 ...

随机推荐

  1. SQLite占用资源少原因

    本篇承接上篇SQLite详解的下篇,介绍SQLIte为什么占用资源少的原因?本文主要参考https://blog.csdn.net/hanyingzhong/article/details/46400 ...

  2. 近20个绚丽实用的jQuery/CSS3侧边栏菜单(转载)

    http://developer.51cto.com/art/201510/493530.htm 近20个绚丽实用的jQuery/CSS3侧边栏菜单 jQuery作为一款主流的JavaScript前端 ...

  3. python文件

    目录 1. 文件的概念 1.1 文件的概念和作用 1.2 文件的存储方式 2. 文件的基本操作 2.1 操作文件的套路 2.2 操作文件的函数/方法 2.3 read 方法 -- 读取文件 2.4 打 ...

  4. Netty 系列七(那些开箱即用的 ChannelHandler).

    一.前言 Netty 为许多通用协议提供了编解码器和处理器,几乎可以开箱即用, 这减少了你在那些相当繁琐的事务上本来会花费的时间与精力.另外,这篇文章中,就不涉及 Netty 对 WebSocket协 ...

  5. img图像标签和超链接标签a

    图像标签语法:<img src="" alt="".../> img属性:src=""  显示图像的URLalt="& ...

  6. date('Y-m-d H:i:s',time()) 与 date('Y-m-d h:i:s',time())区别是什么

    date('Y-m-d H:i:s',time()) 按24小时制 date('Y-m-d h:i:s',time()) 按12小时制

  7. 洛谷P2286 [HNOI2004]宠物收养场

    题目描述 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领 ...

  8. Django之URL路由系统

    一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这 ...

  9. 17.Odoo产品分析 (二) – 商业板块(10) – 电子商务(1)

    查看Odoo产品分析系列--目录 安装电子商务模块 1. 主页 点击"商店"菜单:  2. 添加商品 在odoo中,你不用进入"销售"模块,再进入产品列表添加产 ...

  10. Android view层

    当屏幕可以装下内容的时候,他们的值相等,只有当view超出屏幕后,才能看出他们的区别:getMeasuredHeight()是实际View的大小,与屏幕无关,而getHeight的大小此时则是屏幕的大 ...