Mọi người ơi ai giúp mình cái đoạn code này với. Minh xóa được các khoảng trắng thừa ở đầu và cuối chuỗi rồi nhưng đến đoạn khoảng trắng liên tiếp ở các từ thì nó không xóa mọi người chỉ mình cách sửa với.
#include<iostream>
#include<string.h>
using namespace std;
//Ham Xoa
void Xoa(char s[], int vitrixoa)
{
int n =strlen(s) ;
for (int i = vitrixoa; i < n; i++)
{
s[i] = s[i+1];
}
n--;
}
//Xoa ky tu khoang trang o dau.
void Xoa_ki_tu_dau(char s[])
{
while (true)
{
if (s[0] == ' ' )
{
Xoa(s, 0);
}
else
{
break;
}
}
}
//Xoa ki tu khoang trang o cuoi.
void Xoa_ki_tu_cuoi(char s[])
{
while (true)
{
if (s[strlen(s)-1] == ' ')
{
Xoa(s,strlen(s) - 1);
}
else
{
break;
}
}
}
//Ham Xoa khoang trang lien tiep moi tu
void Khoang_Trang_Moi_Tu(char s[])
{
for (int i = 0; i < strlen(s); i++)
{
if (s[i] == ' ' && s[i + 1] == ' ')
{
Xoa(s, i);
}
else
{
break;
}
}
}
int main()
{
char s[100];
cout << "Nhap chuoi:";
gets_s(s);
Xoa_ki_tu_dau(s);
Xoa_ki_tu_cuoi(s);
Khoang_Trang_Moi_Tu(s);
cout << "Chuoi sau khi xoa:" << s <<endl;
system("pause");
return 0;
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?