IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 12.15总结 -> 正文阅读

[C++知识库]12.15总结

学习队列相关知识

?

题目

欢迎大家加入ACM!
要深入的学习ACM的相关知识,首先就必须学会一门编程语言,推荐C/C++。
不过对于初学者,因为没编过多少代码,经常出现变异错误,其实就是语法错误。
现在要你检查一段代码的语法是否否正确。
为了简化问题,我们只检查 (、)、{、} 括号是否匹配了,并且在输入的代码中不包含字符的'(',')','{','}'。
其他语法错误不检查,如 "#include <stdio.h","2 = x",是错误的,但是不检查。

输入

有多组测试数据,每组测试数据有一段代码,该段代码可能在有多行。
每段代码以Ctrl+Z结束。
处理到文件结束。

输出

每组测试数据输出一行。
如果这段代码括号匹配了,输出 Right ,否则输出 Wrong。

样例输入

#include <stdio.h
int main(){
??? int a b;
??? while (scanf("%d%d", &a, &b) != EOF) {
??????? printf("%d\n", a + b);
??? }
}
Ctrl+Z
int main(){
??? int a, b;
??? while (scanf("%d%d", &a, &b) != EOF) {
??????? printf("%d\n", a + b);
???
}
Ctrl+Z

样例输出

Right
Wrong

代码如下

(只会对一串以"Ctrl+Z"为结束符的字符串检测是否匹配)

#include<stdio.h>
#define size 30
int stack[30];
int top=0;
int flag = 1;

void push(char x)
{
 if (top < size)
 {
  stack[top] = x;
  top++;
 }

}
char pop()
{
 if (top == 0)
  return '\0';
 top--;
 return stack[top];

}

void check(char x, char y)
{
 if (x == '#')
 {
  printf("Wrong");
  flag = 0;
 }
 if (x!=y)
 {
  printf("Wrong");
  flag = 0;
 }
}

int main()
{
 char ch, out;
 push('#');
 ch = getchar();
 while (ch != 'Ctrl+Z')
 {
  switch (ch)
  {
  case'(':
  case'[':
  case'{':push(ch); break;
  case')':out = pop(); check(out, '('); break;
  case']':out = pop(); check(out, '['); break;
  case'}':out = pop(); check(out, '{'); break;
        }
  if (flag == 0)
   return 0;
  ch = getchar();
 }
 out = pop();
 if (out == '#')
  printf("Right");
 else
  printf("Wrong");
 return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 17:29:31  更:2021-12-16 17:30:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:06:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码