Khúc mắc bài tập ngôn ngữ C

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 ạ!

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
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?