【字符串】ZSC-勤奋的计算机系学生
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-勤奋的计算机系学生的更多相关文章
- Avram Joel Spolsky给计算机系学生的建议
Avram Joel Spolsky给计算机系的学生给了如下建议: (1)毕业前练好写作 (2)毕业前学好C语言 (3)毕业前学好微观经济学 (4)不要因为枯燥就不选修 ...
- json字符串转为php数组,使用随机字符串生成订单号(学生笔记)
//提交订单 function add_order(){ session_start(); // var_dump($_SESSION); // die(); // session_destroy() ...
- 大约SQL现场“这包括”与“包括在”字符串的写法
1.字段查找表值"这包括"方法一字符串的所有记录 如果表中有一name场,查询name这包括"乔 - 史密斯"所有记录.能够写sql: Stirng st ...
- MySQL学习总结(摘抄)
1.数据库概述 简 而言之,数据库(DataBase)就是一个存储数据的仓库.为了方便数据的存储和管理,将数据按照特定的规律存储在磁盘上.通过数据库管理系统,可以有 效的组织和管理存储在数据库中的数据 ...
- 将js进行到底:node学习笔记2
node重要API之FS--CLI编程初体验 所谓的"fs"就是file system! 当下几乎任何一门编程语言都会提供对文件系统读写的API,比如c语言的open()函数. 而 ...
- SQL知识点、SQL语句学习
一. 数据库简介和创建1. 系统数据库在安装好SQL SERVER后,系统会自动安装5个用于维护系统正常运行的系统数据库: (1)master:记录了SQL SERVER实例的所有系统级消息,包括实例 ...
- 珍藏的数据库SQL基础练习题答案
自己珍藏的数据库SQL基础练习题答案 一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1 ...
- [Mac A]为什么国外程序员爱用 Mac?
from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...
- 自己珍藏的数据库SQL基础练习题答案
一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1-3所示. 表1-1 Student表 ...
随机推荐
- 46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)
内核版本 : Linux 3.10.14 rc红外接收类型: GPIO 类型的NEC红外编码 本章内容 1) rc体系结构分析 2) 分析红外platform_driver平台驱 ...
- Java学习笔记之——Object类
所有类的祖先 如果一个类没有显式继承,则继承Object 每一个类都直接或间接的是Object的子类 相关API: protected Objectclone() 创建并返回此对象的副本. boole ...
- javascript html页面中的内容替换
<script language="javascript"> function ffRed(){ var xsxf = document.getElementById ...
- Java中对象和json互相转换的工具类
package com.Dingyu.util; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingExce ...
- Js中的闭包原理
要了解清楚js中的闭包制机,那么得先了解全局执行环境.块级执行环境.函数执行环境.变量对象.环境栈.作用域链.摧毁执行环境. 全局执行环境 全局执行环境指的是最外层的执行环境.在web中全局执行环境被 ...
- 13 ,CSS 入门基础,行内排版内嵌式排版和外部排版样式
1.认识 CSS 2.传统 HTML 设计网页版面的缺点 3.CSS 的特点 4.CSS 的排版样式 13.1 认识CSS CSS的英文全名是 Cascading Style Sheets,中文可翻译 ...
- js内置对象-Object
1)Object构造函数的方法 返回指定对象的原型对象 Object.getPrototypeOf(mymap); /*{featureStyle: {…}, selfLayersCount: nul ...
- Spring学习之旅(三)Spring工作原理初探
详细的废话相信很多书籍视频资料都已经很多了,这里说几个小编个人认为对于理解Spring框架很重要的点.欢迎批评指正. 1)Spring的控制反转 先说说“依赖”,在面向对象程序设计中,类A中用到了类B ...
- 13.Odoo产品分析 (二) – 商业板块(6) –采购(3)
接上一篇 查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (二) – 商业板块(6) –采购(2) 7. 仓库 仓库是在安装采购管理模块时出现的菜单.用于管理工厂库存,包括已经在手的货物 ...
- selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
解决办法: 把chromedriver exe文件放到python scripts目录下