7-125 切分表达式——写个tokenizer吧 (20 分)
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 分)相关推荐
- 1002 写出这个数 (20分)
1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...
- C++学习之路 | PTA乙级—— 1002 写出这个数 (20分)(精简)
1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...
- 【PAT乙】1002 写出这个数 (20分)
1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...
- 1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 ...
- 满分简便解法:1002 写出这个数 (20分)
立志用更少的代码做更高效的表达 Pat乙级题解汇总-->传送门 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 ...
- 1002 写出这个数 (20分)-Java
题目 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 100. 输出格式: 在 ...
- PAT 1002 写出这个数 (20分)(Java)
题目描述 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10的100次方. 输出格式: ...
- PAT1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
字符串处理 要注意strlen()函数的使用对象是char 数组:而且计算时候不会计算上后缀'\0 #include<iostream> #include<algorithm> ...
- 1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10的100次方 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一 ...
最新文章
- C语言入门练习 - 第一期 变量、输入输出、表达式与顺序语句(题解)
- ubuntu 16.04 python3 使用ryu
- Oracle学习笔记--第2章 oracle 数据库体系结构
- 查看磁盘空间,清理缓存
- 在EF中使用SQL执行简单高效的增删查操作
- 王者荣耀(01背包)
- Hadoop生态Flume(二)安装配置
- 2017蓝桥杯省赛---java---C---1(外星日历)
- [转]触碰心灵34句
- poj Labeling Balls 3687 拓扑排序!!!!
- 软件测试整理复习(简答题)转载请经由作者同意
- padavan mysql密码_padavan固件
- 手机怎么查看连接过的wifi密码
- 记项目现场的翻车事故
- python花瓣长度和花瓣宽度散点图鸢尾花_matplotlib可视化操作及案例分析
- python入门和使用
- 如何用GameMakerStudio开发基于物理引擎的平台游戏 | Lynda教程 中文字幕
- TS科普19 各种流(如:MP3、H264、H265等)在TS的流类型
- 《机器学习》 线性模型
- rk3288 RTC实现定时开关机