Bài toán. Chuẩn hóa xâu s nhập vào. Yêu cầu:
– Xóa tất cả dấu cách thừa
– Thay các ký tự đầu mỗi từ bằng chữ IN HOA
– Tách ra: Họ và tên đệm trên 1 dòng, tên trên một đòng.
Ví dụ:
CHUANE.INP |
CHUANE.OUT |
dO truNg tHanh |
Do Trung Thanh |
Code tham khảo:
#include <iostream>
#include <cstring>
using namespace std;
string s;
void chuanXau() {
while(s.find(" ") >= 0) {
int p = s.find(" ");
if(p >= 0)
s.erase(p,1);
else break;
}
if(s[0] == ' ')
s.erase(0,1);
if(s[s.length()-1] == ' ')
s.erase(s.length(),1);
}
void chuHoa() {
for(int i=1; i<=s.length()-1; i++)
if(s[i] >= 'A' && s[i] <= 'Z')
s[i] += 32;
if(s[0] >= 'a' && s[0] <= 'z')
s[0] -= 32;
for(int i=1; i<=s.length()-1; i++)
if(s[i] == ' ' && s[i+1] >= 'a' && s[i+1] <= 'z')
s[i+1] -= 32;
}
int main() {
freopen("CHUANE.INP","r",stdin);
freopen("CHUANE.OUT","w",stdout);
getline(cin, s);
chuanXau();
chuHoa();
string s2 = "";
int i = s.length()-1;
while(s[i] != ' ') {
s2 = s[i] + s2;
s.erase(i,1);
if(s[i] == ' ') break;
i--;
}
cout << s << endl << s2;
return 0;
}