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.
Contents
- 1 Bài tập C++ về biến và kiểu dữ liệu
- 1.1 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 đó.
- 1.2 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:
- 1.3 Viết một chương trình C++ để in nội dung chào mừng trong một dòng riêng.
- 1.4 Viết chương trình C++ để in các dòng text đã cho trước
- 1.5 Viết chương trình C++ để in các dấu sao theo yêu cầu đã cho.
- 1.6 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.
- 1.7 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.
- 1.8 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.
- 1.9 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.
- 2 Bài tập C++ về toán tử
- 2.1 Viết một chương trình trong C++ để in tổng của hai số.
- 2.2 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.
- 2.3 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.
- 2.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.
- 2.5 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.
- 2.6 Viết chương trình C++ để tính điểm thi.
- 2.7 Nhập 2 số x, y và tính theo yêu cầu
- 2.8 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
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 << "Nhập chiều rộng của hình chữ nhật: ";
double width;
cin >> swap;
while ( !(stringstream(swap) >> width) ) {
cout << "Lỗi! Không khớp kiểu dữ liệu! nNhậ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! Không khớp kiểu dữ liệu! nNhậ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<iostream>
using std::cout;
using std::cin;
int main(){
double width, height, area, perimeter;
cout << "Chương trình này sẽ lấy chiều rộng và chiều cao (nếu có) 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 'Enter' để thoát chương trình.n";
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 << "Tì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 kiểu char: " << sizeof(char) << " byten";
cout << " - Kích thước của kiểu short: " << sizeof(short) << " byten";
cout << " - Kích thước của kiểu int: " << sizeof(int) << " byten";
cout << " - Kích thước của kiểu long: " << sizeof(long) << " byten";
cout << " - Kích thước của kiểu long long: " << sizeof(long long) << " byten";
cout << " - Kích thước của kiểu float: " << sizeof(float) << " byten";
cout << " - Kích thước của kiểu double: " << sizeof(double) << " byten";
cout << " - Kích thước của kiểu long double: " << sizeof(long double) << " byten";
cout << " - Kích thước của kiểu bool: " << sizeof(bool) << " byten";
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 << "nIn một dòng chữ chào mừng:n";
cout << " - Chào mừng đến với";
cout << " w3resource.comn";
return 0;
}
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:
- 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 <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int age;
age=10;
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 đã 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<<"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<<"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 <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 << "Nhập 3 số nguyên: ";
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 được sắp xếp tăng dần: ";
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 << "In 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ó 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 << "Tổ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 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 << "Nhập hai số nguyên: ";
cin >> x >> y;
tong=x+y;
trungbinhcong=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 <iostream>
#include <conio.h>
using namespace std;
int main() {
int v,u,a,t;
cout << "Nhập vận tốc ban đầu, gia tốc, thời gian: ";
cin >> u >> a >> t;
v=u+a*t;
cout << "Vận tốc cuối cùng của ô tô 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ả dưới dạng sau:
Gtri x Gtri y Bieu Thuc Ket qua
18 | 2 | A=y+3 | A=5
18 | 2 | B=y-2 | B=16
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 <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[]) {
cout << "Kết quả biểu thức:n";
cout << "Gtri x" << "t" << "Gtri y" << "t" << "Bieu thuc" << "t" << "Ket qua" << endl;
cout << "18" << "t" << "|2 " << "t" << "A=y+3" << "t" << "|A=5" << endl;
cout << "18" << "t" << "|2 " << "t" << "B=y-2" << "t" << "|B=16" << endl;
cout << "18" << "t" << "|2 " << "t" << "C=y*5" << "t" << "|C=10" << endl;
cout << "18" << "t" << "|2 " << "t" << "D=x/y" << "t" << "|D=9" << endl;
cout << "18" << "t" << "|2 " << "t" << "E=x%y" << "t" << "|E=0" << 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ỳ, đ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:
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 << "==========Điểm kiểm tra================n";
cout << "Nhập điểm kiểm tra 1:";
cin >> q1;
cout << "n";
cout << "Nhập điểm kiểm tra 2:";
cin >> q2;
cout << "n";
cout << "Nhập điểm kiểm tra 3:";
cin >> q3;
cout << "n";
cout << "==========Điểm thi giữa kỳ=============n";
cout << "Nhập điểm thi giữa kỳ:";
cin >> diemgk;
cout << "n";
cout << "===========Điểm thi cuối kỳ============n";
cout << "Nhập điểm thi cuối kỳ:";
cin >> diemck;
cout << "n";
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ố 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=xy, 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 <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
float x;
float y;
float p;
float s;
float q;
cout << "Nhập giá trị x: ";
cin >> x;
cout << "n";
cout << "Nhập giá trị y: ";
cin >> y;
cout << "n";
p = x * y;
s = x + y;
q = s*s+p*(s-x)*(p+y);
cout << "Giá trị biểu thức q là: " << q;
cout << "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
: 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ínhkq1
,kq2
. - Gọi hàm
getvalue
để lấy phần thực và phần ảo choi1
,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;
}