Trong bài viết này, mình sẽ chia sẻ đến các bạn những bài tập về vòng lặp từ căn bản đến nâng cao mà mình đã tổng hợp, chọn lọc từ nhiều nguồn khác nhau. Nếu kiến thức về vòng lặp của bạn chưa vững, còn đang lơ mơ thì hãy tham khảo ngay bài viết này để 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é!
Contents
1. Tính tổng của n số tự nhiên đầu tiên
Đề bài: Cho số tự nhiên n 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.
Bạn đang xem: 7 Bài tập vòng lặp trong C++ từ căn bản đến nâng cao mê hoặc
Xem thêm : Tổng hợp full bộ tài liệu C++ cơ bản dành cho người mới bắt đầu
Đáp án:
#include<iostream>
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;
}
2. Tính giai thừa của một số tự nhiên
Đề bài: Cho một số tự nhiên n nhập từ bàn phím, viết chương trình in ra màn hình giai thừa của số vừa nhập sử dụng vòng lặp.
Xem thêm : Tổng hợp full bộ tài liệu C++ cơ bản dành cho người mới bắt đầu
Đáp án:
#include<iostream>
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;
}
3. Nhập số vào màn hình cho đến khi nhập số 0 thì dừng
Xem thêm : Học Python: Từ Zero đến Hero (phần 1)
Đề bài: Nhập vào một số cho đến khi ta nhập số 0 thì dừng chương trình.
Xem thêm : Tổng hợp full bộ tài liệu C++ cơ bản dành cho người mới bắt đầu
Đáp án:
#include<iostream>
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!";
}
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).
Xem thêm : Tổng hợp full bộ tài liệu C++ cơ bản dành cho người mới bắt đầu
Đáp án:
#include<iostream>
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;
}
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)
Xem thêm : Tổng hợp full bộ tài liệu C++ cơ bản dành cho người mới bắt đầu
Đáp án:
#include<iostream>
#include<math.h>
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 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;
}
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).
Xem thêm : Tổng hợp full bộ tài liệu C++ cơ bản dành cho người mới bắt đầu
Đáp án:
#include<iostream>
#include<conio.h>
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;
}
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 *, có sử dụng vòng lặp.
Xem thêm : Tổng hợp full bộ tài liệu C++ cơ bản dành cho người mới bắt đầu
Đáp án:
#include<iostream>
using namespace std;
int main() {
int i, j, n;
cout << "Nhập chiều cao của tam giác: ";
cin >> 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;
}
Hy vọng những bài tập này sẽ giúp các bạn trở nên thành thạo hơn về sử dụng vòng lặp trong C++! Nếu thấy bài viết này hay và hữu ích thì hãy chia sẻ nó đến với bạn bè của mình để ủng hộ mình và giúp mình ngày càng phát triển hơn nhé! Chúc các bạn thành công!
Nguồn: https://laptrinhc.edu.vn
Danh mục: Tài liệu IT