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++ rất phổ biến trong thế giới lập trình. Nếu đang học viết chương trình C++, thì mời bạn tham khảo những bài luyện tập dưới đây.

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à cao của hình chữ nhật, sau đó xuất kết quả diện tích và chu vi của hình chữ nhật đó.

Code mẫu 1:

#include <iostream>
#include <sstream>
#include <conio.h>
using namespace std;

int main()
{
  string swap;
Clrscr();

  cout << "Input the width of the rectangle: ";
  double width;
  cin >> swap;
  while ( !(stringstream(swap) >> width) )
  {
    cout << "Error! Type mismatch! \nInput again: ";
    cin >> swap;
  }
  
  cout << "Input the height of the regtangle: ";
  double height;
  cin >> swap;
  while ( !(stringstream(swap) >> height) )
  {
    cout << "Error! Type mismatch! \nInput again: ";
    cin >> swap;
  }

  cout << "The area of the rectangle is " << height * width << endl;
  cout << "The perimiter of the rectangle is " << 2 * (height + width) << endl;
return 0;
}

Code mẫu 2:

//By Fate-X
#include<iostream>

using std::cout;
using std::cin;

int main(){
    double width, height, area, perimeter;
    
    cout << "This program takes the height and width (when given) of a rectangle and returns\nits area and perimeter.\n\n";
    cout << "Input Width: ";
         
    cin >> width;
    cin.ignore();
    
    cout << "Input height: ";
    
    cin >> height;
    cin.ignore();
    
    area = height * width;
    perimeter = 2 * (width + height);
    
    cout << "\n\nArea: " << area << "\n";
    cout << "Perimeter: " << perimeter << "\n\n";
    
    cout << "Please press the 'return' key to exit the program.";
    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 sau:

sizeof(char) : 1 byte
sizeof(short) : 2 byte
sizeof(int) : 4 byte
sizeof(long) : 8 byte
sizeof(long long): 8 byte
sizeof(float): 4 byte
sizeof(double): 8 byte
sizeof(long double) : 16 byte
sizeof(bool) : 1 byte

Code mẫu:

#include <iostream>
using namespace std;
 
int main() 
{
    cout << "\n\n Find Size of fundamental data types :\n";
	cout << "------------------------------------------\n";
   cout << " The sizeof(char) is :          " << sizeof(char) << " bytes \n" ;
   cout << " The sizeof(short) is :         " << sizeof(short) << " bytes \n" ;
   cout << " The sizeof(int) is :           " << sizeof(int) << " bytes \n" ;
   cout << " The sizeof(long) is :          " << sizeof(long) << " bytes \n" ;
   cout << " The sizeof(long long) is :     " << sizeof(long long) << " bytes \n";
   cout << " The sizeof(float) is :         " << sizeof(float) << " bytes \n" ;
   cout << " The sizeof(double) is :        " << sizeof(double) << " bytes \n";
   cout << " The sizeof(long double) is :   " << sizeof(long double) << " bytes \n";
   cout << " The sizeof(bool) is :          " << sizeof(bool) << " bytes \n\n";
   return 0;
}

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

Code mẫu:

#include <iostream>
using namespace std;
 
int main()
{
    cout << "\n\n Print a welcome text in a separate line :\n";
	cout << "----------------------------------------------\n";
    cout << " Welcome to \n" ;
    cout << " w3resource.com "<<endl ;
    
}

Viết chương trình C++ để in các dòng text đã cho trước

Bài tập:

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

Toi nam nay 18 tuoi.

Toi co nhieu hoai bao muon theo duoi.

Code mẫu:

#include <cstdlib>
#include <iostream> 
using namespace std; 
int main(int argc, char *argv[]) 
{ 
 int age; 
 age=10; 
 cout<<" Toi nam nay "<<age<<" tuoi.\n"; 
 cout<<" Toi co nhieu hoai bao muon theo duoi.\n"; 
 
 return 0; 
}

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

Yêu cầu:

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

*

**

***

****

*****

******

Code mẫu:

#include <cstdlib> 
#include <iostream> 
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ả trên màn hình.

Yêu cầu:

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

Code mẫu:

#include <cstdlib> 
#include <iostream> 
  
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"<<"b="<<b<<"\t"<<"c="<<c; 
    cout<<"\n"; 
        
    return 0; 
} 

Viết chương trình C++ yêu cầu người dùng nhập tên của họ, rồi in kết quả trê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ả trên màn hình.

Code mẫu:

#include <cstdlib> 
#include <iostream> 
  
using namespace std;   
int main(int argc, char *argv[]) 
{ 
    char name[20]; 
    cout<<"Hay nhap ten cua ban:"; 
    cin>>name; 
    cout<<"Xin chao "<<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 <iostream>

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;
    }
    return;
}

int main(){
    std::cout << "Nhap 3 so nguyen: " << std::endl;
    int num1;
    int num2;
    int num3;
    std::cin >> num1 >> num2 >> num3;

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

    Sort(output1,output2,output3);

    std::cout << num1 << " " << num2 << " " << num3 << " "
         << " khi sap xep tang dan: ";
    std::cout << output1 << " " << output2 << " " << output3 << std::endl;

    return 0;
}

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

Yêu cầu:

In các giá trị sau trê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 <iostream>
#include <conio.h>
using namespace std; 
int main()
{
  
  int a = 100;
  float b = 5.1;
  char c = 'q';
  cout << "a = " << 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 <iostream>
using namespace std;
 
int main()
{
    cout << "\n\n In tổng của hai số :\n";
	cout << "-----------------------------------\n";
    cout << " Tổng của 29 và 30 là : "<< 29+30 <<"\n\n" ;
}

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ó 2 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ố rồi in kết quả ra màn hình.

Code mẫu:

#include <iostream>
#include <conio.h>
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 << "Tong cua " << x << " va " << y << " la " << tong << "." << endl;
  cout << "Hieu cua " << x << " va " << y << " la " << hieu << "." << endl;
  cout << "Tich cua " << x << " va " << y << " la " << tich << "." << endl;
  cout << "Thuong cua " << x << " va " << y << " la " << 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 ra màn hình.

Yêu cầu:

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

Code mẫu:

#include <iostream>
#include <conio.h>
using namespace std; 
int main()
{

int x,y,tong;
float trungbinhcong;
cout << "Nhap hai so nguyen : " << endl;
cin>>x>>y;
tong=x+y;
trungbinhcong=tong/2.0f;
cout << "Tong cua " << x << " va " << y << " la " << tong << "." << endl;
cout << "Trung binh cong cua " << x <<  " va " << y << " la " << trungbinhcong << "." << endl;
return 0;
}

Kết quả:

Nhap hai so nguyen:
3
5
Tong cua 3 va 5 la 8.
Trung binh cong cua 3 va 5 la 4.

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 <iostream>
#include <conio.h>
using namespace std; 
int main()
{

int v,u,a,t;
cout << "Nhap van toc v0, gia toc a, thoi gian t: " << endl;
cin>>u>>a>>t;
v=u+a*t;
cout << "Van toc cuoi cung la " << v << "." << endl;
return 0;
}

Kết quả:

Nhap van toc v0, gia toc a, thoi gian t:
10 2 15
Van toc cuoi cung la 40.

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ả dưới dạng sau:

Gtri xGtri yBieu ThucKet qua
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

Gợi ý:

  • Dùng tab và newline để có thể in theo yêu cầu.

Code mẫu:

#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
int x;
int y;
x=18;
y=2;
cout<<"Ket qua tra ve:\n";
cout<<"Gtri x\t"<<"Gtri y\t"<<"Bieu thuc\t"<<"Ket qua\n";
cout<<x<<" |\t"<<y<<" |\t"<<"A=y+3\t"<<"\t|"<<"A="<<y+3<<"\n";
cout<<x<<" |\t"<<y<<" |\t"<<"B=y-2\t"<<"\t|"<<"B="<<y-2<<"\n";
cout<<x<<" |\t"<<y<<" |\t"<<"C=y*5\t"<<"\t|"<<"C="<<y*5<<"\n";
cout<<x<<" |\t"<<y<<" |\t"<<"D=x/y\t"<<"\t|"<<"D="<<(float)(x/y)<<"\n";
cout<<x<<" |\t"<<y<<" |\t"<<"E=x%y\t"<<"\t|"<<"E="<<x%y<<"\n";

return 0;
}

Kết quả:

Kết quả bài tập C++

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ỳ, điểm thi cuối kỳ, sau đó tính tổng điểm và in kết quả ra màn hình dưới dạng sau:

==========Diem kiem tra================
Nhap diem kiem tra 1:10
Nhap diem kiem tra 2:9
Nhap diem kiem tra 3:10
==========Diem thi giua ky=============
Nhap diem thi giua ky:8.5
===========Diem thi cuoi ky=============
Nhap diem thi cuoi ky:10
Tong diem kiem tra: 29
Diem thi giua ky: 8.5
Diem thi cuoi ky: 10
.................................
Tong diem: 47.5

Code mẫu:

#include <cstdlib> 
#include <iostream> 
#include<iomanip> 
using namespace std; 
int main(int argc, char *argv[]) 
{ 
    float q1; 
    float q2; 
    float q3; 
    float tongdiemkt; 
    float diemgk; 
    float diemck; 
    float tongdiem; 
    cout<<"==========Diem kiem tra================\n"; 
    cout<<"Nhap diem kiem tra 1:"; 
    cin>>q1; 
    cout<<"\n"; 
    cout<<"Nhap diem kiem tra 2:"; 
    cin>>q2; 
    cout<<"\n"; 
    cout<<"Nhap diem kiem tra 3:"; 
    cin>>q3; 
    cout<<"\n"; 
    cout<<"==========Diem thi giua ky=============\n"; 
    cout<<"Nhap diem thi giua ky:"; 
    cin>>diemgk; 
    cout<<"\n"; 
    cout<<"===========Diem thi cuoi ky=============\n"; 
    cout<<"Nhap diem thi cuoi ky:"; 
    cin>>diemck; 
    cout<<"\n"; 
    tongdiemkt=q1+q2+q3; 
    tongdiem=tongdiemkt+diemgk+diemck; 
    cout<<"Tong diem kiem tra:"<<right<<setw(5)<<tongdiemkt; 
    cout<<"\n"; 
    cout<<"Diem thi giua ky:"<<right<<setw(7)<<diemgk; 
    cout<<"\n"; 
    cout<<"Diem thi cuoi ky:"<<right<<setw(10)<<diemck; 
    cout<<"\n"; 
    cout<<".................................\n"; 
    cout<<"Tong diem:"<<right<<setw(11)<<tongdiem; 
    cout<<"\n"; 
    return 0; 
}

Kết quả:

Kết quả bài tập C++

Nhập 2 số 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=s2+p(s-x)*(p+y) và in kết quả ra màn hình.

Code mẫu:

#include <cstdlib> 
#include <iostream> 
#include<iomanip> 
  
using namespace std; 
  
int main(int argc, char *argv[]) 
{ 
    float x; 
    float y; 
    float p; 
    float s; 
    float q; 
    cout<<"Nhap gia tri x: "; 
    cin>>x; 
    cout<<"\n"; 
    cout<<"Nhap gia tri y: "; 
    cin>>y; 
    cout<<"\n"; 
    p=x*y; 
    s=x+y; 
    q=s*s+p*(s-x)*(p+y); 
    cout<<"Gia tri bieu thuc q la: "<<q; 
    cout<<"\n"; 
    
    return 0; 
} 

Kết quả:

Nhap gia tri x: 5 

Nhap gia tri y: 10

Gia tri bieu thuc q la: 30225

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 ý:

Để sử dụng nạp chồng toán tử trong giải bài tập cộng, trừ số phức này, bạn cần làm những việc sau:

  • Khai báo lớp sophuc: Bao gồm các biến và hàm thành viên

  • Dùng hàm getvalue() để nhận phần thực, phần ảo của số phức

  • Định nghĩa hàm operator+() để cộng hai số phức

  • Định nghĩa hàm operator-() để trừ hai số phức

  • Định nghĩa hàm display

  • Khai báo các số phức i1, i2 và kết quả phép tính kq1, kq2

  • Gọi hàm getvalue để lấy phần thực và phần ảo cho i1, i2

  • Gọi hàm operator+() và operator-() để cộng, trừ hai số phức

  • Gọi hàm display để hiển thị 2 số phức, 2 kết quả cộng, trừ

  • Trả về các giá trị

Code mẫu:

#include<iostream>
#include<conio.h>
using namespace std;  
class sophuc
{
              int a,b;
    public:
              void getvalue()
              {
                 cout<<"Hãy nhập phần thực, 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<<"i"<<"\n";
              }
};

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;
}

Kết quả:

Kết quả bài tập C++ về nạp chồng toán tử

Thứ Hai, 15/05/2023 14:58
3,936 👨 273.240
3 Bình luận
Sắp xếp theo
  • Hà Đức
    Hà Đức

    Viết chương trình yêu cầu người dùng nhập vào hai số, sử dụng toán tử điều kiện (toán

    tử ? :) để in ra số lớn hơn và số nhỏ hơn trong 2 số.

    Thích Phản hồi 07:31 27/09
    • Việt Hùng Nguyễn
      Việt Hùng Nguyễn

      c++ Giả sử, cứ n phút thì bạn tăng thêm 1 cm, hỏi sau m phút bạn cao thêm bao nhiêu cm và chiều cao của bạn sau khi tăng là bao nhiêu biết trước đó bạn cao 150 cm. Mô tả đầu vào Dòng đầu tiên là n phút / 1 cm bạn tăng được. Dòng thứ hai là m phút để bạn đu xà. Mô tả đầu ra Hai số lần lượt là số cm bạn tăng thêm và số cm chiều cao của bạn sau khi đu xà. (mỗi số cách nhau 1 khoảng cách)


      Thích Phản hồi 21:09 21/07
      • Gia Thịnh Bùi
        Gia Thịnh Bùi

        Viết chương trình nhập vào ba số a, b và h từ bàn phím (a>0, b>0, h>0, a ≥ b) tương ứng là chiều dài đáy lớn, đáy nhỏ và chiều cao của hình thang. Tính diện tích hình thang, rồi in kết quả tính được lên màn hình. LÀM NHANH ĐI BẠN

        Thích Phản hồi 12/11/22
        • Việt Hùng Nguyễn
          Việt Hùng Nguyễn

          thế mà ko biết làm

          :<


          Thích Phản hồi 21:10 21/07
      ❖ Lập trình C++