Tổng hợp bài tập c++ cơ bản cho người mới làm quen với lập trình, tài liệu bao gồm những câu hỏi bài tập có kèm đáp án rõ ràng chính xác dể hiều giúp cho bạn dể tiếp thu và nâng cao kỹ năng thuật toán...
Trang 1BÀI TẬP ÔN CUỐI KỲ
MÔN CƠ SỞ LẬP TRÌNH TRÊN C++
1 Viết chương trình nhập vào 4 số nguyên, tìm số lớn nhất, nhỏ nhất của 4 số
2 Viết chương trình thể hiện trò chơi oẳn tù tì với qui ước: Búa = ‘B’; Bao =
‘O’; Kéo =‘K’ Nhập vào hai kí tựđại diện cho hai người chơi Xuất ra màn hình câu thông báo người chơi nào thắng hoặc hòa
cout<<"\n Ban a ra cai gi = ";cin>>a;
cout<<"\n Ban b ra cai gi = ";cin>>b;
switch (a)
{
case 'B':
switch (b)
{case 'B':cout<<"\n Hai ban hoa nhau "; break;
case 'O':cout<<"\n Ban b thang roi "; break;
case 'K':cout<<"\n Ban a thang roi "; break;
default:cout<<"\n Ban b nhap sai khong tinh duoc";break;
}
break;
Trang 2case 'O':
switch (b)
{case 'B':cout<<"\n Ban a thang roi "; break;
case 'O':cout<<"\n Hai ban hoa nhau "; break;
case 'K':cout<<"\n Ban b thang roi "; break;
default:cout<< "\n Ban b nhap sai khong tinh duoc";break; }
break;
case 'K':
switch (b)
{case 'B':cout<<"\n Ban b thang roi "; break;
case 'O':cout<<"\n Ban a thang roi "; break;
case 'K':cout<<"\n Hai ban hoa nhau "; break;
default: cout<<"\n Ban b nhap sai khong tinh duoc";break; }
4 Viết chương trình In ra kết quả của bài toán vui
Trăm trâu, trăm cỏ.
Trâu đứng ăn năm.
Trâu nằm ăn ba.
Trâu già ăn một.
Hỏi số trâu đứng, trâu năm, trâu già ?
#include <iostream.h>
#include <conio.h>
Trang 36 Nhập vào ngày, tháng của một năm hiện tại Bạn hãy viết chương trình:
- Kiểm tra tính hợp lệ của ngày, tháng nhập;
Trang 4- Cho biết tháng này thuộc quý mấy trong năm;
- Cho biết tháng nhập có bao nhiêu ngày;
- Cho biết ngày hôm sau của ngày đã nhập là ngày nào
cout<<"\n Hay nhap ngay thang nam =";cin>>ngay>>thang>>nam;
if (ngay<0||ngay>31) { cout<<"\n Nhap ngay sai ! nhap lai ";
case 1:case 2:case 3:{cout<<"\n Thang nay thuoc qui 1";break;}
case 4:case 5:case 6:{cout<<"\n Thang nay thuoc qui 2";break;}
case 7:case 8:case 9:{cout<<"\n Thang nay thuoc qui 3";break;}
case 10:case 11:case 12:{cout<<"\n Thang nay thuoc qui 4";break;}
Trang 5cout<<"\n Hay nhap ngay, thang, nam =";cin>>ngay>>thang>>nam;
cout<<"\n Hay nhap so n =";cin>>n;
Trang 6default: cout<<"Ban nhap sai thang "; break;
{ cout<<"\n Hay nhap phan so a =";cin>>tua>>maua;
cout<<"\n Hay nhap phan so b =";cin>>tub>>maub; }
cout<<"\n Tong cua 2 phan so ="<<tong;
cout<<"\n Hieu cua 2 phan so ="<<hieu;
cout<<"\n Tich cua 2 phan so ="<<tich;
cout<<"\n Thuong cua 2 phan so ="<<thuong;
getch();
}
Trang 79 Viết chương trình nhập vào 2 phân số, xuất ra tổng hiệu tích thương của hai phân sốđó Lưu ý kiểm tra điều kiện nhập mẫu khác 0 (dùng do …while).
cout<<"\n Hay nhap phan so a ";cin>>tua>>maua;
cout<<"\n Hay nhap phan so b ";cin>>tub>>maub;
cout<<"\n Tong cua 2 phan so ="<<tong;
cout<<"\n Hieu cua 2 phan so ="<<hieu;
cout<<"\n Tich cua 2 phan so ="<<tich;
cout<<"\n Thuong cua 2 phan so ="<<thuong;
getch();}
10 Chương trình cho phép nhập vào một số nguyên dương, là lượng điện tiêu thụ (kWh) trong tháng của nhà bạn Chương trình tính và in số tiền nhà bạn phải trả cho tháng đó được tính theo giá định mức như bảng sau:
Trang 8case 1:strcat(chuoi,"Mot tram");break;
case 2:strcat(chuoi,"Hai tram");break;
case 3:strcat(chuoi,"Ba tram"); break;
case 4:strcat(chuoi,"Bon tram");break;
case 5:strcat(chuoi,"Nam tram");break;
case 6:strcat(chuoi,"Sau tram");break;
case 7:strcat(chuoi,"Bay tram");break;
case 8:strcat(chuoi,"Tam tram");break;
case 9:strcat(chuoi,"Chin tram");break; }
switch (chuc)
{
case 0:strcat(chuoi," khong");break;
case 1:strcat(chuoi," muoi");break;
case 2:strcat(chuoi," hai");break;
case 3:strcat(chuoi," ba"); break;
Trang 9case 4:strcat(chuoi," bon");break;
case 5:strcat(chuoi," nam");break;
case 6:strcat(chuoi," sau");break;
case 7:strcat(chuoi," bay");break;
case 8:strcat(chuoi," tam");break;
case 9:strcat(chuoi," chin");break; }
switch (donvi)
{
case 0:strcat(chuoi," khong");break;
case 1:strcat(chuoi," muoi");break;
case 2:strcat(chuoi," hai");break;
case 3:strcat(chuoi," ba"); break;
case 4:strcat(chuoi," bon");break;
case 5:strcat(chuoi," nam");break;
case 6:strcat(chuoi," sau");break;
case 7:strcat(chuoi," bay");break;
case 8:strcat(chuoi," tam");break;
case 9:strcat(chuoi," chin");break; }
cout<<"\n Chuoi so doc la = "<<chuoi;
Trang 1013 Viết chương trình giải phương trình bậc 2 với các hệ số nhập từ bàn phím (xét đầy đủ các trường hợp)
cout<<"\n Hay nhap he so b =";cin>>b;
cout<<"\n Hay nhap he so c =";cin>>c;
Trang 12cout<<"\n Hay nhap n =";cin>>n;
cout<<"\n Hinh tam giac 1";
Trang 1418 Viết chương trình nhập một số nguyên n>=5 Vẽ lên màn hình các chữ ∑, chữ
M, chữ Z bằng các dấu sao (*) có chiều cao n
Trang 15cout<<"\n Hinh chu Zima";
Trang 1619 Cho ε = 1e−6 Tính gần đúng các số sau:
a Số pi theo công thức Euler:
2 2
2 2
3
12
11
n
x = + + + +
211
2 1
x n
.
x ) (
sin
n n
12
15
3
1 2 5
3
+
−+++
−
, dừng lặp khi
6 1
2
101
Trang 17cout<<"\n emu"<<x<<" = "<<emu;
cout<<"\n Tinh sinx ";
cout<<"\n Hay nhap he goc cua sin x =";cin>>x;
- Đếm số phần tử dương và in ra tổng các phần tử dương của mảng
- Kiểm tra mảng có sắp thứ tự tăng dần hay không ?
Trang 18cout<<"\n So cac phan tu duong ="<<soptd;
cout<<"\n Tong cac phan tu duong ="<<tongptd;
if(kt==1) cout<<"\n Day vua nhap la day tang dan";
else cout<<"\n Day vua nhap la day khong tang dan ";
Trang 19// Kiem tra so chinh phuong
cout<<"\n Day co cac so chinh phuong la = ";
int dem=0;
for(i=1;i<=n;i++)
if(kt(a[i])) {cout<<a[i]<<' ';
dem+=1;}
if (dem==0) cout<<" Khong co so chinh phuong nao ";
cout<<"\n Day co "<<dem<<" Phan tu la so chinh phuong";
if(kt==1) cout<<"\n Day vua nhap doi xung";
else cout<<"\n Day vua nhap khong doi xung ";
Trang 20if (kt==1) cout<<"\n Day kiem tra la cap so cong , cong sai ="<<a[i]-a[i-1];
else cout<<"\n Day khong tao thanh day cap so cong ";
Trang 21if (a[j+1]-a[j]==2) cout<<"\n "<<a[j]<<" "<<a[j+1];
cout<<"\n Cac phan tu trong day a1 =";
for (i=1;i<=n;i++) cout<<a1[i]<<' ';
cout<<endl;
//Nhap va in day a2
for(i=1;i<=n;i++)
{cout<<"a2["<<i<<"]=";cin>>a2[i];}
cout<<"\n Cac phan tu trong day a2 =";
for (i=1;i<=n;i++) cout<<a2[i]<<' ';
cout<<"\n Cac phan tu co trong a1 khong co trong a2 =";
Trang 23cout<<"\n Day chua cac so chan =";
cout<<"Tong so cac phan tu duong trong tam giac tren ="<<dem;
//Tinh Tong tren cac dong cua ma tran
Trang 2431 Nhập một ma trận vuông cấp n*n
- In ra các phần tử trên đường chéo chính
- In ra các phần tử trên đường chéo phụ
- In ra các phần tử trong tam giác trên
In ra các phần tử trong tam giác dưới
for(i=1;i<=n;i++)
Trang 26int i,j, n,a[10][10];
if(kt2==1) cout<<"Khong co cot nao giong nhau";
Trang 27cout<<"\n Hay nhap so phan tu cua day =";cin>>n;
head =new int(n);
if(max<*p) { max=*p; vt=i; }}
cout<<"\n So lon nhat trong day = "<<max<<" tai "<<vt;
Trang 28int min=*head;
i=0;
for(p=head;p<=head+n;p++)
{i++;
if(min>*p) { min=*p; vt=i; }}
cout<<"\n So lon nho trong day = "<<min<<" tai "<<vt;
int *head,*p,*q,n, tam ;
cout<<"\n Hay nhap so phan tu cua day =";cin>>n;
head =new int(n);
cout<<"\n Hay nhap mot chuoi :";cin.getline(s,50);
cout<<"\n Chuoi duoc in nguoc lai :";
Trang 29for(int i=0;i<n/2;i++) if(s[i]!=s[n-1-i]) kt=0;
if(kt==1) cout<<"\n Chuoi vua nhap la chuoi doi xung";
else cout<<"\n Chuoi vua nhap khong doi xung";
getch(); }
39. Viết chương trình nhập vào một chuỗi rồi xuất chuỗi đó ra màn hình dưới dạng mỗi từ một dòng
Trang 30Ví dụ: “Nguyễn Văn Minh”
In ra :
Nguyễn Văn Minh
char s[50]; int i,j;
cout<<"\n Hay nhap mot chuoi :";cin.getline(s,50);
Trang 31a=i;}
for(j=0;j<=a;j++) cout<<s[j]; getch();
}