7-125 切分表达式——写个tokenizer吧 (20 分)

[先说点出题背景]

这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正在此处不应翻译成“令牌解析器”。

[正题]

四则运算表达式由运算数(必定包含数字,可能包含正或负符号小数点)、运算符(包括+-*/)以及小括号(())组成,每个运算数、运算符和括号都是一个token(标记)。现在,对于给定的一个四则运算表达式,请把她的每个token切分出来。题目保证给定的表达式是正确的,不需要做有效性检查。

输入格式:

在一行中给出长度不超过40个字符的表达式,其中没有空格,仅由上文中token的字符组成

输出格式:

依次输出表达式中的tokens,每个token占一行。

输入样例:

32*((2-2)+5)/(-15)

结尾无空行

输出样例:

32
*
(
(
2
-
2
)
+
5
)
/
(
-15
)

结尾无空行

#include<iostream>
using namespace std;
int main(){string s;cin>>s;for(int i=0;i<s.size();i++){cout<<s[i];if(isdigit(s[i])){if(isdigit(s[i+1])==0){if(s[i+1]!='.')cout<<endl;}}else if(s[i]==')'||s[i]=='('){cout<<endl;}else if(s[i]=='*'||s[i]=='/'){cout<<endl;}else if(s[i]=='+'||s[i]=='-'){if(s[i-1]!='('&&i!=0){cout<<endl;}}}return 0;
}

7-125 切分表达式——写个tokenizer吧 (20 分)相关推荐

  1. 1002 写出这个数 (20分)

    1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...

  2. C++学习之路 | PTA乙级—— 1002 写出这个数 (20分)(精简)

    1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...

  3. 【PAT乙】1002 写出这个数 (20分)

    1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...

  4. 1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

    1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 ...

  5. 满分简便解法:1002 写出这个数 (20分)

    立志用更少的代码做更高效的表达 Pat乙级题解汇总-->传送门 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 ...

  6. 1002 写出这个数 (20分)-Java

    题目 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ​100. 输出格式: 在 ...

  7. PAT 1002 写出这个数 (20分)(Java)

    题目描述   读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:   每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10的100次方. ​ 输出格式: ...

  8. PAT1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

    字符串处理  要注意strlen()函数的使用对象是char 数组:而且计算时候不会计算上后缀'\0 #include<iostream> #include<algorithm> ...

  9. 1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

    输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10的100次方 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一 ...

最新文章

  1. C语言入门练习 - 第一期 变量、输入输出、表达式与顺序语句(题解)
  2. ubuntu 16.04 python3 使用ryu
  3. Oracle学习笔记--第2章 oracle 数据库体系结构
  4. 查看磁盘空间,清理缓存
  5. 在EF中使用SQL执行简单高效的增删查操作
  6. 王者荣耀(01背包)
  7. Hadoop生态Flume(二)安装配置
  8. 2017蓝桥杯省赛---java---C---1(外星日历)
  9. [转]触碰心灵34句
  10. poj Labeling Balls 3687 拓扑排序!!!!
  11. 软件测试整理复习(简答题)转载请经由作者同意
  12. padavan mysql密码_padavan固件
  13. 手机怎么查看连接过的wifi密码
  14. 记项目现场的翻车事故
  15. python花瓣长度和花瓣宽度散点图鸢尾花_matplotlib可视化操作及案例分析
  16. python入门和使用
  17. 如何用GameMakerStudio开发基于物理引擎的平台游戏 | Lynda教程 中文字幕
  18. TS科普19 各种流(如:MP3、H264、H265等)在TS的流类型
  19. 《机器学习》 线性模型
  20. rk3288 RTC实现定时开关机

热门文章

  1. html表单所有类型,表单form的type种类
  2. JavaScript---函数
  3. Layer弹出层关闭后刷新父页面
  4. JS 浏览器扩展storage
  5. 神奇的linux发行版 tiny core linux
  6. ZooKeeper启动过程
  7. LoadRunner error -27728
  8. Flutter SliverAnimatedOpacity 透明渐变动画效果
  9. mysql的入门基础操作
  10. 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误