STARTING
CONTROL STATEMENT
FUNCTION
ARRAY & POINTER
OOP
STL
ITERATORS
OTHER FEATURES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Bài tập vòng lặp for trong C++ có lời giải

Trong bài này mình sẽ tổng hợp các bài tập vòng lặp for trong C++ để giúp các bạn rèn luyện xử lý vòng lặp for, đây là những bài tập có lời giải do mình biên soạn và có tham khảo trên internet.

Vòng lặp for C++ rất quan trọng, nó được sử dụng rất nhiều khi xử lý mảng, vì vậy bạn phải nắm vững cấu trúc của nó, cũng như phương pháp áp dụng vào bài toán cụ thể.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Bài tập vòng lặp for trong C++ thứ nhất

Đầu tiên ta nên làm những bài cực kì đơn giản trước.

Bài 01: Viết chương trình in ra các số từ 1 đến 100.

#include <iostream>
using namespace std;

int main()
{
    for (int i = 1; i <= 100; i++){
    	cout << i << endl;
    }
}

Bài 02: Cũng là bài tập trên nhưng tăng độ khó lên một xíu. Hãy in ra các số từ 1, 3, 5, 7, 9 ... 99 bằng vòng lặp for.

Với bài này thì ta chỉ cần lặp từ 1 đến 99 với bước nhảy bằng 2.

#include <iostream>
using namespace std;

int main()
{
	// Chu y buoc nhay i += 2
    for (int i = 1; i <= 99; i+= 2){
    	cout << i << endl;
    }
}

Hoặc bạn sử dụng bước nhảy 1, nhưng trong thân vòng lặp bạn phải tăng i lên 1 nữa nhé.

#include <iostream>
using namespace std;

int main()
{
    for (int i = 1; i <= 99; i++){
    	cout << i << endl;
    	i++; // Tang i len 1
    }
}

2. Bài tập vòng lặp for C++ thứ hai

Bài 01: Viết chương trình kiểm tra một số có phải là số nguyên tố hay không?

Chúng ta đã làm bài này khá nhiều rồi, nhưng hôm nay mình cũng viết lại với một cách giải khác.

Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó. Số 2 là SNT chẵn duy nhất.

#include <iostream>
using namespace std;

int main()
{
    int n;
    bool flag = true; // Bien dung check SNT 

    cout << "Nhap so can kiem tra: ";
    cin >> n;

    // Neu n < 2 thi khong phai la SNT
    if (n < 2){
        flag = false;
    }
    // Neu n = 2 thi do la SNT
    else if (n == 2){
        flag = true;
    }
    // Neu n la so chan thi khong phai la SNT
    else if (n % 2 == 0){
        flag = false;
    }
    else{
        // Lap qua cac so 3, 5, 7 ... (n - 1)
        // Neu n chia het cho bat ki so nao thi 
        // do khong phai la SNT
        for (int i = 3; i < n; i += 2){
            if (n % i == 0){
                flag = false;
                break;
            }
        }
    }

    if (flag){
        cout << n << " la SNT" << endl;
    }
    else {
        cout << n << " khong phai la SNT" << endl;
    }
}

Bài 02: Áp dụng thuật toán trên hãy viết ứng dụng in ra các số nguyên tố nằm trong khoảng từ 1 đến 100.

Bài này khá đơn giản, ta chỉ cần đặt đoạn code trên nằm trong vòng lặp for là được. Lúc này số cần kiểm tra chính là số trong mỗi lần lặp.

#include <iostream>
using namespace std;

int main()
{
    // Bien dung check SNT
    bool flag;  

    for (int i = 1; i <= 100; i++){

        // Khoi tao gia tri ban dau cho flag
        flag = true;

        // Neu i < 2 thi khong phai la SNT
        if (i < 2){
            flag = false;
        }
        // Neu n = 2 thi do la SNT
        else if (i == 2){
            flag = true;
        }
        // Neu n la so chan thi khong phai la SNT
        else if (i % 2 == 0){
            flag = false;
        }
        else{
            // Lap qua cac so 3, 5, 7 ... (n - 1)
            // Neu n chia het cho bat ki so nao thi 
            // do khong phai la SNT
            for (int j = 3; j < i; j += 2){
                if (i % j == 0){
                    flag = false;
                    break;
                }
            }
        }

        // neu la SNT thi in ra
        if (flag){
            cout << i << endl;
        }
    }
}

3. Bài tập vòng lặp for trong C++ thứ ba

Đề bài: Hãy viết chương trình tính giai thừa cho một số bất kì.

Để tính giai thừa cho một số n thì ta sử dụng vòng lặp để lặp từ 1 đến n, sau đó kết quả là tích của các số đó.

#include <iostream>
using namespace std;

int main()
{
    int n;
    cout << "Nhap so can tinh giai thua: ";
    cin >> n;
    
    int giaithua = -1;
    
    if (n < 0){
    	cout << "Vui long nhap vao so duong";
    }
    else if (n == 0){
    	giaithua = 1;
    }
    else {
    	for (int i = 1; i <= n; i++){
            giaithua *= i;
	}
    }
    
    if (giaithua != -1){
    	cout << n <<"! = " << giaithua <<endl;
    }
}

4. Bài tập vòng lặp for C++ thứ tư

Trong bài tập này chúng ta sẽ thao tác một chút với mảng nhé.

Đề bài: Hãy viết chương trình cho phép người dùng nhập vào một dãy số gồm 10 chữ số.

Bài này thì ta phải khai báo một mảng gồm 10 phần tử kiểu số nguyên, sau đó dùng vòng lặp để yêu cầu người dùng nhập vào.

#include <iostream>
using namespace std;

int main()
{
    int numbers[10];

    // Nhap du lieu
    for (int i = 0; i < 10; i++){
        cout << "Nhap phan thu thu " << i <<": ";
        cin >> numbers[i];
    }

    // In danh sach ra
    for (int i = 0; i < 10; i++){
        cout  << numbers[i] << ",";
    }
}

Lời kết: Trên là tổng hợp những bài tập vòng lặp for trong C++ đơn giản nhất. Nếu bạn muốn làm nhiều bài tập hơn thì hãy tiếp tục học những bài tiếp theo trong series này nhé, bởi trong bài xử lý mảng chúng ta sẽ sử dụng vòng lặp for rất nhiều.

Cùng chuyên mục:

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Bài này sẽ tổng hợp hơn 1000 bài tập C / C++ có lời giải…

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstdlib C/C++

Các hàm trong thư viện cstdlib C/C++

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm toán học (math) trong C / C++

Các hàm toán học (math) trong C / C++

Nếu bạn đang học C++ căn bản thì phải biết công dụng của những hàm…

Bài tập vòng lặp while và do while trong C++

Bài tập vòng lặp while và do while trong C++

Nếu một bài toán được giải bằng vòng lặp while thì bạn hoàn toàn có…

Bài tập if else trong C++ (có đổi sang switch case)

Bài tập if else trong C++ (có đổi sang switch case)

Để thành thạo hai lệnh rẻ nhánh if else và switch case thì bạn phải…

Tìm hiểu cấu trúc mảng (array) trong C++

Tìm hiểu cấu trúc mảng (array) trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi thực ra là cách rút gọn code của lệnh if else,…

Các toán tử trong C++

Các toán tử trong C++

Toán tử đóng vai trò rất quan trọng trong lập trình, nó giúp chúng ta…

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

C++ là một ngôn ngữ lập trình phổ biến và mạnh mẽ có kiểu dữ…

Đọc ghi file trong C

Đọc ghi file trong C

Đa số sinh viên Việt Nam học lập trình C là để luyện tư duy…

Kiểu Union trong C

Kiểu Union trong C

Union có cách khai báo giống như struct, nhưng kích thước của nó sẽ lấy…

Hàm đệ quy trong ngôn ngữ C

Hàm đệ quy trong ngôn ngữ C

Giải thuật đệ quy nói chung và trong ngôn ngữ C nói riêng thì hàm…

Kiểu dữ liệu Struct trong C

Kiểu dữ liệu Struct trong C

Trong lập trình C/C++, struct (struct collection) là một tập hợp các biến ...

Top