94
48
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
string S;
int i;
getline(cin, S);
i = 0;
while (i < S.size() - 1) {
if (S[i] == ' ' && S[i + 1] == ' ') S.erase(i, 1);
else i = i + 1;
}
if (S[0] == ' ') S.erase(0, 1);
if (S[S.size() - 1] == ' ') S.erase(S.size() - 1, 1);
S = " " + S + " ";
for (i = 0; i < S.size() - 1; i++) {
if (S[i] == ' ') {
S[i + 1] = toupper(S[i + 1]);
if (i == 0) cout << S[i + 1];
else cout << " " << S[i + 1];
i = i + 1;
}
else {
S[i] = tolower(S[i]);
cout << S[i];
}
}
return 0;
}
__________________________________________________
`*` Chuẩn hóa xâu, xóa các kí tự trắng liền kề nhau, đầu xâu, cuối xâu
`*` Thêm kí tự trắng vào đầu xâu và cuối xâu sau khi chuẩn hóa
`*` Mô phỏng với xâu "hOAng Ngoc AN"
`*` Cộng thêm kí tự trắng đầu và cuối xâu " hOAng Ngoc AN "
`*` Khi i = 0 ⇒ Chuyển kí tự sau S[0] là S[1] = 'h' thành kí tư hoa, in ra màn hình
`*` Nếu i == 0 thì in S[i + 1] ngược lại in " " và S[i + 1]
`*` Vì i == 0 in "H"
`*` i = i + 1 = 0 + 1 = 1
`*` Qua vòng lặp với i = i + 1 = 1 + 1 = 2
`*` Khi i = 2 ⇒ S[2] = 'O' $\neq$ ' ' ⇒ In kí tự 'O' sau khi chuyển sang thường
`*` Kết quả: "Ho"
`*` Qua vòng lặp với i = i + 1 = 2 + 1 = 3
`*` Khi i = 3 ⇒ S[3] = 'A' $\neq$ ' ' ⇒ In kí tự 'A' sau khi chuyển sang thường
`*` Kết quả: "Hoa"
`*` Qua vòng lặp với i = i + 1 = 3 + 1 = 4
`*` Khi i = 4 ⇒ S[4] = 'n' $\neq$ ' ' ⇒ In kí tự 'n' sau khi chuyển sang thường
`*` Kết quả: "Hoan"
`*` Qua vòng lặp với i = i + 1 = 4 + 1 = 5
`*` Khi i = 5 ⇒ S[5] = 'g' $\neq$ ' ' ⇒ In kí tự 'n' sau khi chuyển sang thường
`*` Kết quả: "Hoang"
`*` Qua vòng lặp với i = i + 1 = 5 + 1 = 6
`*` Khi i = 6 ⇒ S[6] = ' '
`*` Vì i $\neq$ 0 nên in kí tự ' ' và S[i + 1] = S[7] sau khi chuyển sang kí tự hoa
`*` Kết quả: "Hoang N"
`*` Qua vòng lặp với i = i + 1 = 6 + 1 = 7
`*` ...
Hãy giúp mọi người biết câu trả lời này thế nào?
420
314
`Code` `C`++:
#include<bits/stdc++.h>
using namespace std;
long long a,d,n,i,j;
string s,s1;
int main (){
getline(cin,s);
while (s[0]==' ') {
s.erase(0,1);
}
for(i=1;i<=s.size();i++)
while(s[i-1]==' ' && s[i]==' ')
s.erase(i,1);
for(i=0;i<s.size();i++){
if(s[i]>='A'&&s[i]<='Z')
s[i]=s[i]+32;}
while (s[0]>='a' && s[0]<='z')
s[0]=char(s[0]-32);
for (i=0; i<s.size(); i++)
while (s[i]==' ' && (s[i+1]>='a' && s[i+1]<='z'))
s[i+1]=char(s[i+1]-32);
cout<<s;
return 0;
}
___________________________________________________________________
`@``kieu`
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
94
1007
48
giúp mình với https://hoidap247.com/cau-hoi/5539438
91
2619
47
:V giống câu tl trên chat gpt nhỉ :)))