Tiếp tục thảo luận về Topic này !
Đề bài: Viết hàm tìm từ có độ dài lớn nhất trong chuỗi cho trước, in ra màn hình từ đó + độ dài tương ứng.
Source code:
void LngStrWrd(char *s) // tìm từ có độ dài lớn nhất trong chuỗi và in ra độ dài tương ứng
{ // "hoc lap trinhh"
char *p = strdup(s);
int len = strlen(p);
char *str = NULL;
char lngstr[50]; // gán cứng
int Dem = 0, Max = 0, phantu = 0;
for (int i = 0; i <= len; i++)
{
if ((p[i] >= 97 && p[i] <= 122) || (p[i] >= 65 && p[i] <= 90))
{
Dem++;
lngstr[phantu++] = p[i];
}
if (p[i] == 32 || p[i] == '\0')
{
if (Dem > Max)
{
Max = Dem;
str = NULL;
str = strdup(lngstr);
}
phantu = 0;
Dem = 0;
}
}
printf("\nChuoi %s co do dai lon nhat la %d\n", str, Max);
}
int main()
{
char s[30] = "tu canh minhh handsome";
LngStrWrd(s);
getch();
return 0;
}
Tuy code em đã tìm ra được từ có độ dài lớn nhất trong chuỗi và in ra màn hình ok nhưng lúc in ra, cái chuỗi được in có thêm ký tự lạ, anh @Phong_Ky_Vo và @qtd với mọi người xem giúp em ạ.
Xin cảm ơn !