Xin chào Anh/Chị e có một vài khúc mắc trong bài ngôn ngữ C, rất mong A/c giải đáp giúp em ạ!
Khúc mắc bài tập ngôn ngữ C
bạn đọc đề có hiểu không? bạn có thể tự tính ra kết quả của ví dụ không (hiểu ví dụ)
bạn có “khúc mắc” gì?
1 Like
int main()
{
char a[100]; // goc
char b[30]; // tam thoi
char c[30]; // ket qua
int j = 0, maxlength = 0, minlength = INT_MAX;
printf(">> Nhap chuoi: ");
gets(a);
int i;
for(i = 0; i <= strlen(a); i++)
{
if(a[i] != ' ' && a[i] != '\0' && a[i] != '\t')
{
b[j] = a[i];
j++;
}else
{
b[j] = '\0';
if(strlen(b) > maxlength)
{
strcpy(c, b);
maxlength = strlen(c);
}
j = 0;
}
}
printf("\n-> Tu dai nhat trong chuoi vua nhap la: ");
puts(c);
printf("=> Do dai tu dai nhat trong chuoi vua nhap la: %d\n", strlen(c));
for(int i = 0; i <= strlen(a); i++)
{
if(a[i] != ' ' && a[i] != '\0' && a[i] != '\t')
{
b[j] = a[i];
j++;
}else
{
b[j] = '\0';
if(strlen(b) < minlength)
{
strcpy(c, b);
minlength = strlen(b);
}
j = 0;
}
}
printf("\n-> Tu ngan nhat trong chuoi vua nhap la: ");
puts(c);
printf("=> Do dai tu ngan nhat trong chuoi vua nhap la: %d\n", strlen(c));
return 0;
}
===> Em có tham khảo một bài trên mạng, nhưng e vẫn chưa hiểu cách vận hành của vòng lặp for trong bài này. Mn có thể dành chút tg giải thích cho e với ạ. Em cảm ơn !
Trong code cậu chia sẻ, có 2 vòng lặp for. Tớ nghĩ cậu nên nói rõ vòng for nào.
Cơ mà, trước hết, cậu có thể giải thích giúp bọn tớ:
- Vòng lặp for đầu tiên làm gì? Sau khi nó thực hiện, chuyện gì xảy ra, nếu như tớ nhập vào “chu nghia”?
- Vòng lặp for thứ 2 làm gì? Sau khi nó thực hiện, chuyện gì xảy ra, nếu như vòng lặp thứ nhất được hoàn thành như ở trên?
Cậu có thể bớt chút thời gian viết ra giấy/note để có lời giải thích giúp bọn tớ được không? Tớ cảm ơn!
2 Likes