Bài tập C++ có giải (code mẫu) về biến, kiểu dữ liệu và toán tử

Chương trình C++ là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới. Nếu bạn đang học viết chương trình C++, dưới đây là một số bài tập thực hành để bạn tham khảo.

Contents

Bài tập C++ về biến và kiểu dữ liệu

Viết một chương trình yêu cầu người dùng nhập chiều rộng và chiều cao của hình chữ nhật, sau đó in kết quả diện tích và chu vi của hình chữ nhật đó.

Code mẫu 1:

#include 
#include 
#include 

using namespace std;

int main() {
    string swap;

    Clrscr();

    cout << "Nhập chiều rộng của hình chữ nhật: ";
    double width;
    cin >> swap;

    while (!(stringstream(swap) >> width)) {
        cout << "Lỗi! Kiểu dữ liệu không phù hợp! Vui lòng nhập lại: ";
        cin >> swap;
    }

    cout << "Nhập chiều cao của hình chữ nhật: ";
    double height;
    cin >> swap;

    while (!(stringstream(swap) >> height)) {
        cout << "Lỗi! Kiểu dữ liệu không phù hợp! Vui lòng nhập lại: ";
        cin >> swap;
    }

    cout << "Diện tích của hình chữ nhật là: " << height * width << endl;
    cout << "Chu vi của hình chữ nhật là: " << 2 * (height + width) << endl;

    return 0;
}

Code mẫu 2:

//By Fate-X

#include
using std::cout;
using std::cin;

int main(){
    double width, height, area, perimeter;

    cout << "Chương trình này nhận chiều cao và chiều rộng (khi cung cấp) của một hình chữ nhật và trả về diện tích và chu vi của nó.n";

    cout << "Nhập chiều rộng: ";
    cin >> width;
    cin.ignore();

    cout << "Nhập chiều cao: ";
    cin >> height;
    cin.ignore();

    area = height * width;
    perimeter = 2 * (width + height);

    cout << "nDiện tích: " << area << "n";
    cout << "Chu vi: " << perimeter << "n";
    cout << "Nhấn phím 'return' để thoát chương trình.";
    cin.get();

    return 0;
}

Viết một chương trình trong C++ để tìm kích thước của các kiểu dữ liệu cơ bản.

Code mẫu:

#include 

using namespace std;

int main() {
    cout << "nTìm kích thước của các kiểu dữ liệu cơ bản:n";
    cout << "- Kích thước của char: " << sizeof(char) << " byten";
    cout << "- Kích thước của short: " << sizeof(short) << " byten";
    cout << "- Kích thước của int: " << sizeof(int) << " byten";
    cout << "- Kích thước của long: " << sizeof(long) << " byten";
    cout << "- Kích thước của long long: " << sizeof(long long) << " byten";
    cout << "- Kích thước của float: " << sizeof(float) << " byten";
    cout << "- Kích thước của double: " << sizeof(double) << " byten";
    cout << "- Kích thước của long double: " << sizeof(long double) << " byten";
    cout << "- Kích thước của bool: " << sizeof(bool) << " byten";

    return 0;
}

Viết một chương trình C++ để in nội dung chào mừng trên một dòng riêng.

Code mẫu:

#include 

using namespace std;

int main() {
    cout << "nIn nội dung chào mừng trên một dòng riêng:n";
    cout << "- Chào mừng bạn đến với w3resource.comn";

    return 0;
}

Viết chương trình C++ để in các dòng văn bản đã cho.

Bài tập:

Viết chương trình C++ để in các dòng sau:

  • “Tôi năm nay 18 tuổi.”
  • “Tôi có nhiều hoài bão muốn theo đuổi.”

Code mẫu:

#include 
#include 

using namespace std;

int main(int argc, char *argv[]) {
    int age;
    age = 18;

    cout << "Tôi năm nay " << age << " tuổi.n";
    cout << "Tôi có nhiều hoài bão muốn theo đuổi.n";

    return 0;
}

Viết chương trình C++ để in các dấu sao theo yêu cầu.

Yêu cầu:

Viết chương trình C++ để in các dấu sao theo các bước sau:

*
**
***
****
*****
******

Code mẫu:

#include 
#include 

using namespace std;

int main(int argc, char *argv[]) {
    cout << "*n";
    cout << "**n";
    cout << "***n";
    cout << "****n";
    cout << "*****n";
    cout << "******n";

    return 0;
}

Viết chương trình C++ để khai báo 2 biến nguyên và một biến thực, sau đó in kết quả lên màn hình.

Yêu cầu:

Viết chương trình C++ để khai báo hai biến nguyên và một biến thực, sau đó gán các giá trị tương ứng là 8, 16 và 15.8 cho chúng. Sau đó, in kết quả lên màn hình.

Code mẫu:

#include 
#include 

using namespace std;

int main(int argc, char *argv[]) {
    int a;
    int b;
    float c;

    a = 8;
    b = 16;
    c = 15.8;

    cout << "a = " << a << "t";
    cout << "b = " << b << "t";
    cout << "c = " << c << endl;

    return 0;
}

Viết chương trình C++ để yêu cầu người dùng nhập tên của họ và in kết quả lên màn hình.

Yêu cầu:

Viết chương trình C++ để nhắc người dùng nhập tên của họ, sau đó in kết quả lên màn hình.

Code mẫu:

#include 
#include 

using namespace std;

int main(int argc, char *argv[]) {
    char name[20];

    cout << "Hãy nhập tên của bạn: ";
    cin >> name;

    cout << "Xin chào " << name << "! n";

    return 0;
}

Viết chương trình C++ để nhập ba số nguyên đã biết, sau đó in ra màn hình theo thứ tự tăng dần và giảm dần.

Yêu cầu:

Viết chương trình C++ yêu cầu người dùng nhập ba số nguyên, sau đó in 3 số đó ra màn hình theo thứ tự tăng dần.

Code mẫu:

#include 

using namespace std;

void Sort(int &a, int &b, int &c) {
    if (a > b) {
        int tmp = a;
        a = b;
        b = tmp;
    }

    if (a > c) {
        int tmp = a;
        a = c;
        c = tmp;
    }

    if (b > c) {
        int tmp = b;
        b = c;
        c = tmp;
    }
}

int main() {
    cout << "Nhập 3 số nguyên: ";
    int num1;
    int num2;
    int num3;

    cin >> num1 >> num2 >> num3;

    int output1 = num1;
    int output2 = num2;
    int output3 = num3;

    Sort(output1, output2, output3);

    cout << num1 << " " << num2 << " " << num3 << " khi sắp xếp tăng dần: ";
    cout << output1 << " " << output2 << " " << output3 << endl;

    return 0;
}

Viết chương trình C++ để in một số nguyên, một số thực và một ký tự đã được định nghĩa trước.

Yêu cầu:

In các giá trị sau lên màn hình chuẩn: Một số nguyên a, một số thực b và một ký tự c.

Code mẫu:

#include 
#include 

using namespace std;

int main() {
    int a = 100;
    float b = 5.1;
    char c = 'q';

    cout << "na = " << a << endl;
    cout << "b = " << b << endl;
    cout << "c = " << c << endl;

    return 0;
}

Bài tập C++ về toán tử

Viết một chương trình trong C++ để in tổng của hai số.

Code mẫu:

#include 

using namespace std;

int main() {
    cout << "nIn tổng của hai số:n";
    cout << "- Tổng của 29 và 30 là: " << 29 + 30 << "n";

    return 0;
}

Tìm tổng, hiệu, tích và thương của hai số nguyên và in kết quả ra màn hình.

Yêu cầu:

Giả sử có hai số nguyên cho trước, bạn hãy tính tổng, hiệu, tích và thương của hai số đó, sau đó in kết quả ra màn hình.

Code mẫu:

#include 
#include 

using namespace std;

int main() {
    int x = 12;
    int y = 5;
    int tong, hieu, tich, thuong;

    tong = x + y;
    hieu = x - y;
    tich = x * y;
    thuong = x / y;

    cout << "nTổng của " << x << " và " << y << " là " << tong << "." << endl;
    cout << "Hiệu của " << x << " và " << y << " là " << hieu << "." << endl;
    cout << "Tích của " << x << " và " << y << " là " << tich << "." << endl;
    cout << "Thương của " << x << " và " << y << " là " << thuong << "." << endl;

    return 0;
}

Nhập hai số nguyên từ bàn phím, tính tổng, trung bình cộng của chúng và in kết quả ra màn hình.

Yêu cầu:

Nhập 2 số nguyên từ bàn phím, tính tổng và trung bình cộng của hai số đó, rồi in kết quả ra màn hình.

Code mẫu:

#include 
#include 

using namespace std;

int main() {
    int x, y, tong;
    float trungbinhcong;

    cout << "Nhập hai số nguyên: " << endl;
    cin >> x >> y;

    tong = x + y;
    trungbinhcong = float(tong) / 2.0f;

    cout << "Tổng của " << x << " và " << y << " là " << tong << "." << endl;
    cout << "Trung bình cộng của " << x << " và " << y << " là " << trungbinhcong << "." << endl;

    return 0;
}

Tìm vận tốc cuối cùng và in kết quả ra màn hình khi biết vận tốc ban đầu, gia tốc và thời gian.

Yêu cầu:

Giả sử một chiếc ô tô có vận tốc ban đầu v0, gia tốc a và thời gian t. Viết chương trình C++ để tìm vận tốc cuối cùng của ô tô và in kết quả ra màn hình.

Gợi ý:

  • Sử dụng lệnh cin để nhập các giá trị tương ứng cho v0, a và t.
  • Dùng công thức v = v0 + a * t để tính vận tốc cuối cùng.

Code mẫu:

#include 
#include 

using namespace std;

int main() {
    int v0, a, t;
    int v;

    cout << "Nhập vận tốc ban đầu, gia tốc và thời gian: " << endl;
    cin >> v0 >> a >> t;

    v = v0 + a * t;

    cout << "Vận tốc cuối cùng là " << v << "." << endl;

    return 0;
}

Viết chương trình C++ để tính các giá trị biểu thức và in kết quả theo yêu cầu.

Yêu cầu:

Viết chương trình C++ để in kết quả các biểu thức dưới đây:

Giá trị x   Giá trị y   Biểu thức         Kết quả
18          2           A = y + 3         A = 5
18          2           B = y - 2         B = 0
18          2           C = y * 5         C = 10
18          2           D = x / y         D = 9
18          2           E = x % y         E = 0

Code mẫu:

#include 
#include 
#include 

using namespace std;

int main(int argc, char *argv[]) {
    int x;
    int y;
    int a, b, c, d, e;

    x = 18;
    y = 2;

    a = y + 3;
    b = y - 2;
    c = y * 5;
    d = x / y;
    e = x % y;

    cout << "Kết quả trả về:" << endl;
    cout << "Giá trị xtGiá trị ytBiểu thứctKết quả" << endl;
    cout << x << "tt" << y << "ttA = y + 3tA = " << a << endl;
    cout << x << "tt" << y << "ttB = y - 2tB = " << b << endl;
    cout << x << "tt" << y << "ttC = y * 5tC = " << c << endl;
    cout << x << "tt" << y << "ttD = x / ytD = " << d << endl;
    cout << x << "tt" << y << "ttE = x % ytE = " << e << endl;

    return 0;
}

Viết chương trình C++ để tính điểm thi.

Yêu cầu:

Viết chương trình để nhập điểm kiểm tra, điểm thi giữa kỳ và điểm thi cuối kỳ. Tính tổng điểm và in kết quả ra màn hình dưới dạng sau:

Code mẫu:

#include 
#include 
#include 

using namespace std;

int main(int argc, char *argv[]) {
    float q1, q2, q3;
    float tongdiemkt, diemgk, diemck, tongdiem;

    cout << "==========Điểm kiểm tra================n";
    cout << "Nhập điểm kiểm tra 1: ";
    cin >> q1;

    cout << "Nhập điểm kiểm tra 2: ";
    cin >> q2;

    cout << "Nhập điểm kiểm tra 3: ";
    cin >> q3;

    cout << "==========Điểm thi giữa kỳ=============n";
    cout << "Nhập điểm thi giữa kỳ: ";
    cin >> diemgk;

    cout << "===========Điểm thi cuối kỳ=============n";
    cout << "Nhập điểm thi cuối kỳ: ";
    cin >> diemck;

    tongdiemkt = q1 + q2 + q3;
    tongdiem = tongdiemkt + diemgk + diemck;

    cout << "Tổng điểm kiểm tra: " << right << setw(5) << tongdiemkt << 'n';
    cout << "Điểm thi giữa kỳ: " << right << setw(7) << diemgk << 'n';
    cout << "Điểm thi cuối kỳ: " << right << setw(10) << diemck << 'n';
    cout << ".........................n";
    cout << "Tổng điểm: " << right << setw(11) << tongdiem << 'n';

    return 0;
}

Nhập 2 số nguyên x, y và tính theo yêu cầu.

Yêu cầu:

Viết chương trình C++ để nhập hai số nguyên x, y, sau đó tính: p = x y, s = x + y, q = s^2 + p (s – x) * (p + y) và in kết quả ra màn hình.

Code mẫu:

#include 
#include 
#include 

using namespace std;

int main(int argc, char *argv[]) {
    float x, y, p, s, q;

    cout << "Nhập giá trị x: ";
    cin >> x;
    cout << "Nhập giá trị y: ";
    cin >> y;

    p = x * y;
    s = x + y;
    q = s * s + p * (s - x) * (p + y);

    cout << "Giá trị biểu thức q là: " << q << 'n';

    return 0;
}

Bài tập C++ vận dụng nạp chồng toán tử nhị phân để cộng, trừ hai số phức.

Yêu cầu:

Sử dụng khái niệm nạp chồng toán tử để cộng và trừ hai số phức.

Gợi ý:

  • Khai báo lớp sophuc với biến và hàm thành viên tương ứng.
  • Sử dụng hàm getvalue() để lấy phần thực và phần ảo của số phức.
  • Định nghĩa hàm operator+() để thực hiện phép cộng hai số phức.
  • Định nghĩa hàm operator-() để thực hiện phép trừ hai số phức.
  • Định nghĩa hàm display() để hiển thị kết quả.
  • Khai báo hai số phức i1, i2 và hai kết quả kq1, kq2.
  • Gọi hàm getvalue() để lấy giá trị phần thực và phần ảo cho i1, i2.
  • Gọi hàm operator+()operator-() để cộng và trừ hai số phức.
  • Gọi hàm display() để hiển thị hai số phức và hai kết quả.

Code mẫu:

#include 
#include 

using namespace std;

class sophuc {
    int a, b;

public:
    void getvalue() {
        cout << "Hãy nhập phần thực và phần ảo: ";
        cin >> a >> b;
    }

    sophuc operator+(sophuc i) {
        sophuc q;
        q.a = a + i.a;
        q.b = b + i.b;
        return q;
    }

    sophuc operator-(sophuc i) {
        sophuc q;
        q.a = a - i.a;
        q.b = b - i.b;
        return q;
    }

    void display() {
        cout << a << "+" << b << "in";
    }
};

int main() {
    sophuc i1, i2, kq1, kq2;

    i1.getvalue();
    i2.getvalue();

    kq1 = i1 + i2;
    kq2 = i1 - i2;

    cout << "Số phức đã nhập vào:n";
    i1.display();
    i2.display();

    cout << "Kết quả cộng, trừ số phức:n";
    kq1.display();
    kq2.display();

    return 0;
}
FEATURED TOPIC