Bài tập

7 Bài Tập Vòng Lặp Trong C++ Từ Cơ Bản Đến Nâng Cao Cực Hay (Có Đáp Án)

Huy Erick

Trong bài viết này, chúng ta sẽ được cùng nhau tìm hiểu về 7 bài tập vòng lặp trong ngôn ngữ lập trình C++, từ cơ bản đến nâng cao. Những bài tập này đã...

Trong bài viết này, chúng ta sẽ được cùng nhau tìm hiểu về 7 bài tập vòng lặp trong ngôn ngữ lập trình C++, từ cơ bản đến nâng cao. Những bài tập này đã được tổng hợp và lựa chọn kỹ lưỡng từ nhiều nguồn khác nhau. Nếu như bạn cảm thấy còn mơ hồ trong việc sử dụng vòng lặp, hãy tham khảo ngay bài viết "Tất Tần Tật Về Vòng Lặp" để hiểu rõ hơn về chúng và bắt đầu thử sức với những bài tập dưới đây nhé!

1. Tính Tổng Của n Số Tự Nhiên Đầu Tiên

Đề Bài: Cho số tự nhiên n được nhập từ bàn phím, hãy viết chương trình in ra tổng của n số tự nhiên đầu tiên sử dụng vòng lặp.

Đáp Án:

#include 
using namespace std;

int main() {
   int n;
   long tong = 0;

   cout  "Nhập số tự nhiên n: ";
   cin >> n;

   for (int i = 1; i = n; i++) {
      tong += i;
   }

   cout  "Tổng của "  n  " số tự nhiên đầu tiên là: "  tong  endl;

   return 0;
}

Kết Quả Thực Thi:

Nhập số tự nhiên n: 10
Tổng của 10 số tự nhiên đầu tiên là: 55

2. Tính Giai Thừa Của Một Số Tự Nhiên

Đề Bài: Cho một số tự nhiên n được nhập từ bàn phím, hãy viết chương trình in ra giai thừa của số vừa nhập có sử dụng vòng lặp.

Đáp Án:

#include 
using namespace std;

int main() {
   int n;
   long gt = 1;

   cout  "Nhập số tự nhiên n: ";
   cin >> n;

   if (n == 0) {
      gt = 1;
   } else {
      for (int i = 1; i = n; i++) {
         gt = gt * i;
      }
   }

   cout  "Giai thừa của "  n  " = "  gt  endl;

   return 0;
}

Kết Quả Thực Thi:

Nhập số tự nhiên n: 15
Giai thừa của 15 = 2004310016

3. Nhập Số Vào Màn Hình Cho Đến Khi Nhập Số 0 Thì Dừng

Đề Bài: Nhập vào một số cho đến khi ta nhập số 0 thì dừng chương trình.

Đáp Án:

#include 
using namespace std;

int main() {
   int n;

   do {
      cout  "Nhập n: ";
      cin >> n;
   } while (n != 0);

   cout  "Kết thúc chương trình!";

   return 0;
}

Kết Quả Thực Thi:

Nhập n: 7
Nhập n: 5
Nhập n: 2002
Nhập n: 0
Kết thúc chương trình!

4. Tính Tiền Gửi Ngân Hàng Sau n Tháng

Đề Bài: Nhập vào số tiền gửi ban đầu, tiền lãi mỗi năm và số năm gửi tiền, hãy tính số tiền nhận được sau n năm (biết lãi tính theo hình thức lãi kép).

Đáp Án:

#include 
using namespace std;

int main() {
   long long sotien;
   double lai;
   int sonam;

   cout  "Nhập số tiền gửi: ";
   cin >> sotien;
   cout  "Nhập lãi suất hàng năm: ";
   cin >> lai;
   cout  "Nhập số năm gửi tiền: ";
   cin >> sonam;

   for (int i = 1; i = sonam; i++) {
      sotien += sotien * lai;
   }

   cout  "Số tiền sau "  sonam  " năm là: "  sotien;

   return 0;
}

Kết Quả Thực Thi:

Nhập số tiền gửi: 50000000000
Nhập lãi suất hàng năm: 0.03
Nhập số năm gửi tiền: 10
Số tiền sau 10 năm là: 67195818958

5. In Ra Các Số Nguyên Tố Nhỏ Hơn n

Đề Bài: Nhập vào một số tự nhiên n bất kì, in ra màn hình các số nguyên tố nhỏ hơn n theo thứ tự tăng dần (sử dụng vòng lặp).

Đáp Án:

#include 
#include 
using namespace std;

int main() {
   int n;

   cout  "Nhập một số bất kỳ: ";
   cin >> n;

   if (n  2) {
      cout  "Không tồn tại bất kỳ số nguyên tố nào!"  endl;
   } else if (n == 2) {
      cout  "Danh sách các số nguyên tố từ 0 đến 2 là: 2 "  endl;
   } else if (n > 2) {
      cout  "Danh sách các số nguyên tố từ 0 đến "  n  " là: "  endl;
      cout  2  endl;
      cout  3  endl;

      for (int i = 5; i = n; i++) {
         for (int j = 2; j * j = i; j++) {
            if (i % j == 0) {
               break;
            } else if (j + 1 > sqrt(i)) {
               cout  i  endl;
            }
         }
      }
   }

   return 0;
}

Kết Quả Thực Thi:

Nhập một số bất kỳ: 50
Danh sách các số nguyên tố từ 0 đến 50 là:
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47

6. In Ra n Phần Tử Đầu Tiên Của Dãy Fibonacci

Đề Bài: Nhập vào một số tự nhiên n, in ra màn hình n phần tử đầu tiên của dãy Fibonacci (sử dụng vòng lặp).

Đáp Án:

#include 
#include 
using namespace std;

int main() {
   int n;
   long last = 1, before = 0, sum = 0;
   int i = 1;

   cout  "Nhập n: ";
   cin >> n;

   cout  n  " số Fibonacci đầu tiên là:"  endl;

   if (n > 0) {
      cout  "0 ";

      while (i  n) {
         cout  last  " ";
         sum = before + last;
         before = last;
         last = sum;
         i++;
      }
   } else if (n = 0) {
      cout  "Không tồn tại dãy Fibonacci";
   }

   return 0;
}

Kết Quả Thực Thi:

Nhập n: 10
10 số Fibonacci đầu tiên là:
0 1 1 2 3 5 8 13 21 34

7. In Ra Màn Hình Tam Giác Cân Rỗng

Đề Bài: Nhập vào một số tự nhiên n, in ra màn hình tam giác cân rỗng có chiều cao là n được tạo thành từ những dấu *, sử dụng vòng lặp.

Đáp Án:

#include 
using namespace std;

int main() {
   int i, j, n;
   cout  "Nhập chiều cao của tam giác: ";
   cin >> n;

   -n;

  for (i = 0; i  n; i++) {
      for (j = 0; j  2 * n + 1; j++) {
         if (j == n - i || j == n + i) {
            cout  " * ";
         } else {
            cout  "   ";
         }
      }
      cout  endl;
   }

   for (j = 0; j  2 * n + 1; j++) {
      cout  " * ";
   }

   return 0;
}

Kết Quả Thực Thi:

Nhập chiều cao của tam giác: 5
      *      
    *   *    
  *       *  
*           *
* * * * * * *

Hy vọng những bài tập này sẽ giúp bạn thành thạo hơn về sử dụng vòng lặp trong ngôn ngữ C++! Nếu bạn thấy bài viết này hay và bổ ích, hãy chia sẻ nó đến với bạn bè của mình để ủng hộ chúng tôi và giúp chúng tôi ngày càng phát triển hơn nhé! Chúc bạn thành công!

1