TOJ 2674 Java Vs C++ 字符串处理
来源:互联网 发布:湛江 知乎 编辑:程序博客网 时间:2024/05/01 12:17
这道题也是注意细节,理清思路;比较水: 有几个是Error! 的情况: _在开头或者结尾; 既含有_也含有大写字母; 两个_连着;
如下面的样例: _abc abc_ Abc ab_Bcd a__b 等,都是error;
附代码:
#include <iostream>#include <string>using namespace std;int Check(string str){ int len=str.length(),flag=0,tag=0; if(str[0]>'z'||str[0]<'a'||str[len-1]=='_') return 0; for(int i=1;i<len;i++) if(str[i]=='_') {if(str[i-1]=='_')return 0;else flag=1;} else if(str[i]>='A'&&str[i]<='Z') tag=1; if(flag&&tag)return 0; if(flag&&!tag) return 2; if(!flag&&tag) return 3; return 1;}int main(){ string str; while(cin>>str) { int k=Check(str),len=str.length(); if(k==0) cout<<"Error!"<<endl; else if(k==1) cout<<str<<endl; else if(k==2) { for(int i=0;i<len;i++) if(str[i]=='_') str[i+1]=(char)(str[i+1]+('A'-'a')); for(int i=0;i<len;i++) if(str[i]!='_')cout<<str[i]; cout<<endl; } else { for(int i=0;i<len-1;i++) { cout<<str[i]; if(str[i+1]>='A'&&str[i+1]<='Z'){cout<<"_"; str[i+1]=(char)(str[i+1]-('A'-'a'));} } cout<<str[len-1]<<endl; } }}
0 0
- TOJ 2674 Java Vs C++ 字符串处理
- TOJ 2674. Java vs C++
- POJ 3157 Java vs C++ 字符串处理
- TOJ 2196 ZOJ 1423 (Your)((Term)((Project))) 字符串处理
- TOJ 1283 A DP Problem 字符串处理,搜索
- (字符串处理)java & C++(POJ3157)
- TOJ 4120 Zombies VS Plants
- TOJ 3307.Plants VS Zombies
- C/C++ vs. Java
- [zt] java vs C
- C/C++ VS Java
- Java Vs. C♯
- C++/Qt vs Java
- c中的字符串处理
- c++(字符串处理函数)
- 复习C字符串处理
- C字符串处理函数
- C字符串处理函数
- edx 使用中碰到的问题
- 备考复习攻略:全国计算机等级考试C++怎么准备?
- ACM-BFS之诡异的楼梯——hdu1180
- 20款最为知名的开源PHP CMS
- Android ListView开发技巧
- TOJ 2674 Java Vs C++ 字符串处理
- adb server is out of date. killing...
- 判断大数相等
- XPC Service
- Error、Exception、RuntimeException
- 如何用“友好”的方式告诉经理:拥有一个好程序员是你的幸运?
- url传中文乱码
- Java 动态代理机制分析及扩展,第 1 部分
- list字符串转为多行