

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
C++
include<bits/stdc++.h>
using namespace std;
string s;
int main()
{
getline(cin,s);
while(s[0]==' ') s.erase(0,1);
for(int i=0;i<s.size();i++)
if(s[i]==' '&&s[i+1]==' '){
s.erase(i,1);
i--;
}
for(int i=0;i<s.size();i++){
if(s[i]>='A'&&s[i]<='Z')
s[i]=s[i]+32;
}
s[0]=s[0]-32;
for(int i=1;i<s.size();i++)
if(s[i]==' ') s[i+1]=s[i+1]-32;
cout<<s;
}
// bạn mới học xâu cơ bản thì làm cách này dễ hiểu nè
// chúc bạn học tốt
Hãy giúp mọi người biết câu trả lời này thế nào?

#include <iostream>
#include <string>
int mai()
{
std::string st;
std::cin >> st;
/Xóa các dầu cách thừa đầu xâu
while (st[0] == ' ')
{
st.erase(0,1);
}
/Xóa các dấu cách thừa cuối xâu
while (st[st.length() - 1] == ' ')
{
st.erase(st.length() - 1, 1);
}
/Xóa các dấu cách thừa giữa xâu
int i = 0;
while (i < st.length())
{
if (st[i] == ' ' && st[i + 1] == ' ')
{
st.erase(i,1);
} else {
i++;
}
}
/Chuyển tất cả kí từ xâu thành kí tự thường
for (int i = 0; i < st.length(); i++)
{
st[i] = tolower(st[i]);
}
/Viết hoa kí tự đầu của các chữ cái
if (st[0] != ' ')
{
st[0] = toupper(st[0]);
}
for (int i = 0; i < st.length(); i++)
{
if (st [i] == ' ' && st[i + 1] != ' ')
{
st[i + 1] = toupper(st[i + 1]);
}
}
/Xuất ra màn hình xâu sau khi đã được chuẩn hóa
std::cout << st;
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?

Bảng tin