Video Ngôn Ngữ C - 29 - Viết chương trình đếm dòng(hàng)

Source code:

#include <stdio.h>

int main()
{
    int c, nline;
    nline = 0;
    while ((c = getchar()) != EOF)
        if (c == '\n')
            ++nline;
    printf("%d\n", nline);
    return 0;
}

#Đăng ký khóa học C++ cơ bản 2016 ( NEW ) tại đây :
#Thông tin về khóa học xem tại đây :

-Sự khác biệt giữa 2 khóa học cũ và mới :
+Khóa học C++ cơ bản 2016 là khóa học mới, được đầu tư nhiều hơn từ nội dung, phương pháp học, cách học hiệu quả.
+Trong khóa học còn có nhiều kiến thức mới như thực hành trên HackerRank, thực hành trên Codefights và Đạt nghĩ mọi người nên học khóa học mới, bởi vì đây là kiến thức mới, phù hợp với hiện tại… Mặt khác âm thanh cũng tốt hơn nhiều so với khóa học cũ giúp đỡ việc lắng nghe và hiểu được tốt hơn.

2 Likes

cho hỏi chương trình anh dùng để demo là gì vậy

1 Like

CodeBlock

2 Likes

Mọi người cho em hỏi tại sao ở đây dùng (c = getchar) != EOF mà bên đếm ký tự lại chỉ dùng getchar != EOF

Vì anh muốn sử dụng lại biến c cho phép so sánh tiếp theo

if (c == '\n')
    ++nline;
1 Like

Lời giải của em cho bài tập dùng putchar để in ra màn hình nội dung đã getchar nhưng bỏ qua các kí tự khoảng trắng.
Anh xem đúng ko ?

#include <stdio.h>

int main()
{
      int c;
      while ((c=getchar()) != EOF)
      {
        if (c == '\t')
        continue;
       putchar(c);
      }
 return 0;
}

\t mới chỉ là tab thôi @Dao_Trong_Bach :smile:

Em thêm kĩ tự dấu cách nữa. Như vậy đủ chưa hả anh?

#include <stdio.h>

int main()
{
      int c;
      while ((c=getchar()) != EOF)
      {
        if (c == '\t')
        continue;
        else if (c == ' ')
        continue;
       putchar(c);
      }
 return 0;
}

em nên sử dụng dấu || để phân cách các điều kiện thì hay hơn

if (c == '\t' || c == ' ')

Và code trên có vẻ ổn rồi đấy :+1:

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.

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