Hi mọi người.
Em có làm 1 bài tập như sau nhưng đáp án bị sai. Nhờ mọi người xem xét giùm !
Đề bài: Hãy đếm xem có bao nhiêu từ trong 1 chuỗi s cho trước. Định nghĩa từ là 1 hoặc 1 nhóm các ký tự khác khoảng trắng.
Chuỗi cho trước: http://codepad.org/czLh7j7J
Source code:
int CalcStrWrd(char *s)
{
char *p = strdup(s);
int len = strlen(p);
int Dem = 0;
if ((p[0] >= 97 && p[0] <= 122) || (p[0] >= 65 && p[0] <= 90))
Dem++;
for (int i = 0; i < len; i++)
{
if ((p[i] >= 97 && p[i] <= 122) || (p[i] >= 65 && p[i] <= 90))
{
if (p[i - 1] == 32)
Dem++;
}
}
return Dem;
}
Chương trình của em sau khi chạy xong thì ra kết quả là 1072 từ, nhưng đáp án của bài tập là 1153 từ.
Em thấy bối rối quá. Mọi người xem xét giúp em ạ !
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?