3157 Java vs C++模拟
生活随笔
收集整理的這篇文章主要介紹了
3157 Java vs C++模拟
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原題:http://poj.org/problem?id=3157
模擬題,需要注意一下地方,我看了discuss才過的,很多地方?jīng)]想過。其實(shí)題目說的也不是很清楚吧。輸入輸出還弄的亂七八糟的。沒有牽涉到什么算法好像也沒什么好講的。注意幾個(gè)地方:
(1)java沒有下劃線,c++沒有大寫字母。
(2)字符串第一個(gè)字母都是小寫的,大寫就Error。
(3)下劃線不能出現(xiàn)在末尾,也不能連續(xù)出現(xiàn)。
主要就是參考gfedcba?的提示。簡單帖下代碼。
#include <string> #include <iostream> using namespace std;int main() {string s, a;int temp;while (cin>>s){temp = 0;for (int i = 0; i < (int)s.length(); i++){if (s[i] == '_'){if (i == 0 || s[i - 1] == '_' || temp == 2 || i == (int)s.length() - 1){temp = 3;break;}temp = 1;}if (s[i] >= 'A' && s[i] <= 'Z'){if (i == 0 || temp == 1){temp = 3;break;}temp = 2;}}if (temp == 3){cout<<"Error!"<<endl;continue;}switch(temp){case 0:cout<<s<<endl;break;case 1:for (int i = 0; i < (int)s.length(); i++){if (i > 0 && s[i - 1] == '_')printf("%c", s[i] - 32);else if (s[i] != '_')cout<<s[i];}cout<<endl;break;case 2:for (int i = 0; i < (int)s.length(); i++){if (s[i] >= 'a' && s[i] <= 'z')cout<<s[i];else {cout<<"_";printf("%c", s[i] + 32);}}cout<<endl;break;default:break;}}return 0; }轉(zhuǎn)載于:https://www.cnblogs.com/neulike/archive/2011/02/16/1956546.html
總結(jié)
以上是生活随笔為你收集整理的3157 Java vs C++模拟的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转:构建高性能ASP.NET站点 第五章
- 下一篇: 我阅读的第一个程序GridView遇到的