1. Viết chương trình cho phép nhập vào một ký tự. In ra mã ASCII, ký tự đứng trước và ký tự đứng
sau của ký tự trên.
2. Viết chương trình cho phép nhập vào ký tự chữ thường, in ra ký tự hoa tương ứng và ngược lại.
3. Viết chương trình cho phép nhập vào một sốnguyên trong khoảng 0 đến 255. In ra ký tự tương ứng
có mã ASCII là số vừa nhập
4. Viết chương trình cho phép nhập vào chiều rộng và chiều cao của một hình chữ nhật. In ra chu vi
và diện tích của hình chữ nhật đó.
11 trang |
Chia sẻ: lylyngoc | Lượt xem: 2816 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Câu hỏi bài tập Nhập môn lập trình, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CÂU HỎI BÀI TẬP
NHẬP MÔN LẬP TRÌNH
Bài tập chương 2
1. Viết chương trình cho phép nhập vào một ký tự. In ra mã ASCII, ký tự đứng trước và ký tự đứng
sau của ký tự trên.
2. Viết chương trình cho phép nhập vào ký tự chữ thường, in ra ký tự hoa tương ứng và ngược lại.
3. Viết chương trình cho phép nhập vào một số nguyên trong khoảng 0 đến 255. In ra ký tự tương ứng
có mã ASCII là số vừa nhập
4. Viết chương trình cho phép nhập vào chiều rộng và chiều cao của một hình chữ nhật. In ra chu vi
và diện tích của hình chữ nhật đó.
5. Viết chương trình cho phép nhập vào bán kính đường tròn. In ra chu vi và diện tích.
6. Viết chương trình cho phép nhập vào 3 cạnh của một tam giác. In ra diện tích và chu vi của tam
giác đó.
7. Viết chương trình cho phép nhập vào hai số nguyên. In ra các kết quả các phép toán +, - , *, /, chia
nguyên , lấy phần dư của hai số trên.
8. Viết chương trình cho phép nhập vào hai số nguyên. In ra kết quả các phép toán so sánh giữa hai số
trên.
9. Viết chương trình cho phép nhập vào hai ký tự đại diện cho hai giá trị logic với quy ước nếu ký tự
nhập là ‘T’ thì giá trị logic là TRUE. In ra kết quả các phép toán logic giữa hai giá trị logic nói trên.
10. Viết chương trình cho phép nhập vào một số dương có 2 chữ số. In ra số đảo ngược của số nói trên.
11. Làm lại bài 7 nhưng số nhập vào có 3 chữ số, 4 chữ số.
12. Viết chương trình cho phép nhập vào giờ, phút, giây. In ra tổng số giây tương ứng.
13. Viết chương trình cho phép nhập vào tổng số giây. In lại dưới dạng giờ:phút:giây.
14. Viết chương trình nhập hai số nguyên. In ra kết quả các phép toán logic trên từng bit giữa hai số
nguyên đó.
15. Viết chương trình cho phép nhập vào một số thực. In ra căn bậc 2, arctan, exp, ln của số đó.
16. Viết chương trình cho phép nhập vào một số thực. In ra giá trị các hàm lượng giác sin, cos, tan của
số thực đó.
17. Viết chương trình cho phép nhập vào cơ số a và số mũ x. Tính và in ra ax và logax.
18. Viết chương trình cho phép nhập vào một số dương A và một số nguyên n. Tính và in ra căn bậc n
của số A.
Bài tập Chương 3
Các phát biểu rẽ nhánh
1. Viết chương trình cho phép nhập vào một ký tự. In ra cho biết ký tự đó là chữ hoa, chữ thường, chữ
số hay không phải các loại trên.
2. Viết chương trình cho phép nhập vào một số nguyên. In ra cho biết số đó dương hay âm, chẵn hay
lẻ.
3. Viết chương trình cho phép nhập vào một 4 số nguyên. In ra giá trị nhỏ nhất và giá trị lớn nhất của
4 số nguyên đó
4. Viết chương trình cho phép nhập vào năm. In ra cho biết năm đó có nhuận không.
5. Viết chương trình cho phép nhập vào tháng và năm. In ra thông báo tháng trong đó có bao nhiêu
ngày.
6. Viết chương trình cho phép nhập vào một số dương có trong khoảng 0 đến 15. In ra giá trị hexa của
số nói trên.
7. Viết chương trình cho phép nhập vào một số dương có trong khoảng 0 đến 255. In ra giá trị hexa
của số nói trên.
8. Viết chương trình cho phép nhập vào một số có 4 chữ số, hai số đầu có giá trị trong khoảng từ 0
đến 23 đại diện cho giờ, hai số sau có giá trị trong khoảng từ 0 đến 59 đại diện cho phút. In lại giá
trị giờ, phút dưới dạng hh:mm {am|pm}.
9. Ví dụ:
10. Nhập: 0915
11. In : 9:15 am
12. Nhập: 2130
13. In: 9:30 pm
14. Viết chương trình giải phương trình bậc nhất một ẩn số
15. Viết chương trình giải hệ phương trình bậc nhất hai ẩn số
16. Viết chương trình giải phương trình bậc hai
17. Viết chương trình cho phép nhập vào một số thực. Tính và in ra arcsin, arccos, arctan của số thực
đó.
18. Viết chương trình cho phép nhập vào ba số. In ra cho biết đó có phải là ba cạnh của một tam giác
không. Nếu có cho biết đó là tam giác gì.
19. Viết chương trình cho phép nhập vào ba số. In ra cho biết đó có phải là ba cạnh của một tam giác
không. Nếu có in ra ba góc của tam giác đó.
20. Viết chương trình cho phép nhập vào 3 đỉnh (6 số nguyên) của một tam giác. In ra cho biết ba cạnh
và ba góc của tam giác trên. Vẽ tam giác trên.
21. Viết chương trình cho phép nhập vào 3 đỉnh của một tam giác. Tính tâm và bán kính vòng tròn
ngoại tiếp của tam giác đó. Vẽ tam giác và vòng tròn ngoại tiếp.
Vòng lặp FOR
22. Viết chương trình in các ký tự từ ‘A’ đến ‘Z’ xuôi và ngược, chữ hoa và chữ thường.
23. Viết chương trình cho phép nhập vào hai số nguyên M, N. In ra ma trận có kích thước MxN và có
các số hạng nguyên tăng dần bắt đầu từ 1.
Ví dụ: Nhập m,n : 3 4
In ra:
1 2 3 4
5 6 7 8
9 10 11 12
24. Viết chương trình in bảng cửu chương.
25. Viết chương trình in bảng chân trị các phép toán AND, OR và XOR.
26. Viết chương trình cho phép nhập vào một số nguyên N. Tính tổng N số nguyên dương đầu tiên,
tổng bình phương N số nguyên dương đầu tiên.
27. Viết chương trình in N số hạng đầu tiên của dãy Fibonacci.
28. Viết chương trình tính N!.
29. Viết chương trình in tam gíac Pascal.
30. Viết chương trình cho phép nhập vào chiều cao. In ra tam giác vuông cân đặc có chiều cao tương
ứng.
Ví dụ: Chiều cao 4
*
* * *
* * * * *
* * * * * * *
31. Viết chương trình cho phép nhập vào chiều cao. In ra tam giác vuông cân đặc có chiều cao tương
ứng theo dạng sau.
Ví dụ: Chiều cao 4
!
! * !
! * ! * !
! * ! * ! * !
32. Viết chương trình cho phép nhập vào chiều cao. In ra tam giác vuông cân rỗng có chiều cao tương
ứng.
Ví dụ: Chiều cao 4
*
* *
* *
* * * * * * *
CÁC CẤU TRÚC LẬP TRÌNH - CẤU TRÚC CHỌN
BÀI TẬP MINH HOẠ
Bài tập 1
Viết chương trình nhập vào một số x, nếu x = 100 thì xuất ra thông báo “Gia tri cua x
la 100”, ngược lại, xuất ra thông báo “Gia tri của x khac 100”.
Bài tập minh hoạ sử dụng cấu trúc if
#include "stdio.h"
int main()
{
int x;
printf("Nhap x = ");
scanf("%d", &x);
if(x == 100)
printf("\nGia tri cua x la 100");
if(x != 100)
printf("\nGia tri cua x khac 100");
return 0;
}
Bài tập minh hoạ sử dụng cấu trúc if ... else
#include "stdio.h"
int main()
{
int x;
printf("Nhap x = ");
scanf("%d", &x);
if(x == 100)
printf("\nGia tri cua x la 100");
else
printf("\nGia tri cua x khac 100");
return 0;
}
Bài tập 2
Giải phương trình bậc 1: ax + b = 0
#include
int main()
{
float a, b;
printf("Nhap a = ");
scanf("%f", &a);
printf("Nhap b = ");
scanf("%f", &b);
if(a == 0)
{
if(b == 0)
printf("\nPhuong trinh co vo so nghiem.\n");
else
printf("\nPhuong trinh vo nghiem.\n");
}
else
{
printf("\nPhuong trinh co nghiem duy nhat: x = %0.2f", -
b/a);
}
return 0;
}
Bài tập 3
Nhập vào 1 tháng, năm, cho biết tháng đó có bao nhiêu ngày.
// Thang co 31 ngay: 1, 3, 5, 7, 8, 10, 12
// Thang co 30 ngay: 4, 6, 9, 11
// Thang 2 co 28 hoac 29 ngay
#include
void main()
{
//khai bao bien
int ngay, thang, nam;
int nhuan;
//nhap du lieu
printf("Nhap vao mot thang: ");
scanf("%d",&thang);
printf("Nhap vao mot nam: ");
scanf("%d",&nam);
//kiem tra nam nhuan
nhuan = 0;
if ((nam%400 == 0) || (nam%4 == 0 && nam%100 != 0))
nhuan = 1;
ngay = 0;
switch (thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
ngay = 31;
break;
case 4:
case 6:
case 9:
case 11:
ngay = 30;
break;
case 2:
if (nhuan == 1) ngay = 29;
else ngay = 28;
break;
}
printf("So ngay cua thang %d cua nam %d la: %d",thang, nam,
ngay);
}
CÁC BÀI TẬP THÊM CÓ ĐỘ KHÓ TRUNG BÌNH
1. Giải phương trình bậc 2: ax2 + bx + c = 0.
2. Nhập vào 3 số a, b, c. In ra màn hình 3 số này theo thứ tự tăng dần.
3. Nhập vào 4 số a, b, c, d.
a. In ra số lớn nhất và số nhỏ nhất.
b. In ra 2 số không phải số lớn nhất và số nhỏ nhất.
4. Nhập vào độ dài 3 cạnh a, b, c của 1 tam giác.
a. Cho biết 3 cạnh đó có lập thành một tam giác không?
b. Nếu có, cho biết loại tam giác này (thường, cân, vuông, đều, vuông cân).
5. Nhập 1 chữ cái, nếu là chữ thường thì đổi thành chữ hoa, ngược lại đổi thành chữ
thường.
6. Tính tiền đi taxi từ số km đã được nhập vào, biết:
• 1 km đầu giá 15000đ
• Từ km thứ 2 đến km thứ 5 giá 13500đ
• Từ km thứ 6 trở đi giá 11000đ
• Nếu đi hơn 120km sẽ được giảm 10% trên tổng số tiền.
7. Xếp loại các học sinh trong lớp. Nhập vào họ tên, điểm toán, lý, hóa của các học
sinh. Tính điểm trung bình 3 môn và phân loại như sau:
• suất xắc: đtb >=9.0
• giỏi: 9.0 > đtb >= 8.0
• khá: 8.0 > đtb >= 6.5
• trung bình: 6.5 > đtb >= 5.0
• yếu: 5.0 > đtb >= 3.0
• kém: 3.5 > đtb
CÁC BÀI TẬP THÊM CÓ ĐỘ KHÓ CAO
8. Viết chương trình nhập vào ngày, tháng, năm. Hãy cho biết ngày kế tiếp và ngày
trước của ngày đó. (có code tham khảo bên dưới)
#include
void main()
{
//khai bao bien
int ngay, thang, nam;
int ngaytruoc, ngayke;
int nhuan;
//nhap du lieu
printf("Nhap vao mot ngay: ");
scanf("%d",&ngay);
printf("Nhap vao mot thang: ");
scanf("%d",&thang);
printf("Nhap vao mot nam: ");
scanf("%d",&nam);
//kiem tra nam nhuan
nhuan = 0;
if ((nam%400 == 0) || (nam%4 == 0 && nam%100 != 0))
nhuan = 1;
ngaytruoc = ngay-1;
ngayke = ngay+1;
switch (thang)
{
case 1:
case 5:
case 7:
case 10:
case 12:
case 4:
case 6:
case 9:
case 11:
if (ngay == 30)
{
ngaytruoc = 29;
ngayke = 1;
}
else
{
ngaytruoc = ngay-1;
ngayke = ngay+1;
}
break;
case 2:
if (nhuan == 1)
{
if (ngay == 29)
{
ngaytruoc = 28;
ngayke = 1;
}
else if (ngay == 1)
{
ngaytruoc = 31;
ngayke = 2;
}
}
else
if (ngay == 28)
{
ngaytruoc = 27;
ngayke = 1;
}
else if (ngay == 1)
{
ngaytruoc = 31;
ngayke = 2;
}
break;
case 3:
if (ngay == 31)
{
ngaytruoc = 30;
ngayke = 1;
}
else if (ngay == 1)
{
if (nhuan == 1)
{
ngaytruoc = 29;
ngayke = 2;
}
else
{
ngaytruoc = 28;
ngayke = 2;
}
}
break;
case 8:
if (ngay == 31)
{
ngaytruoc = 30;
ngayke = 1;
}
else if (ngay == 1)
{
ngaytruoc = 31;
ngayke = 2;
}
break;
}
printf("Ngay truoc cua ngay %d cua thang %d cua nam %d la:
%d",ngay, thang, nam, ngaytruoc);
printf("\n");
printf("Ngay ke tiep cua ngay %d cua thang %d cua nam %d la:
%d",ngay, thang, nam, ngayke);
}
33. Viết chương trình cho phép nhập vào chiều rộng và chiều cao. In ra hình chữ nhật đặc có chiều
rộng và chiều cao tương ứng.
34. Viết chương trình cho phép nhập vào chiều rộng và chiều cao. In ra hình chữ nhật rỗng có chiều
rộng và chiều cao tương ứng.
35. Viết chương trình cho phép nhập vào chiều rộng và chiều cao. In ra các chữ I, O, H, T có chiều
rộng và chiều cao tương ứng.
36. Viết chương trình cho phép nhập vào chiều cao. In ra tam giác có dạng sau:
a
b c b
c d e d c
d e f g f d d
37. Viết chương trình cho phép nhập vào tháng và năm. In lịch của tháng trong năm đó.
Vòng lặp không xác định (for, while, do..while)
38. Viết chương trình cho phép nhập vào một số thực, Tính ex, cosx, sinx, lnx bằng vòng lặp.
39. Tính pi dùng vòng lặp.
40. Viết chương trình cho phép nhập vào một số nguyên. In đảo ngược số nguyên đó.
41. Viết chương trình kiểm tra một số nguyên có đối xứng không, ví dụ: số 12521, 127721 là các số
đối xứng.
42. Viết chương trình tính căn bậc 2, bậc 3 của một số dùng vòng lặp.
43. Viết chương trình tính căn bậc N của một số dùng vòng lặp.
44. Viết chương trình giải phương trình bậc ba x3+px+q = 0 với p > 0
45. Viết chương trình nhập vào một số nguyên dương N. In ra N số nguyên tố đầu tiên.
46. Viết chương trình tính tổng các số hạng của một số nguyên.
47. Viết chương trình kiểm tra một số có nửa đầu và nửa cuối giống nhau không. Ví dụ số 173173 là số
có nửa đầu và nửa cuối trùng nhau.
48. Viết chương trình tính giá trị lớn nhất của kiểu số nguyên, kiểu số LongInt.
49. Viết chương trình cho phép nhập vào hai số, tính và in ra ước số chung lớn nhất, bội số chung nhỏ
nhất của hai số đó.
50. Viết chương trình cho biết kích thước theo bit của một số nguyên.
51. Viết chương trình đếm số bit 1 của một số nguyên.
52. Viết chương trình cho phép nhập vào một số nguyên N. Phân tích số đó thành thừa số nguyên tố.
53. Viết chương trình cho phép nhập vào một số nguyên dương. Tính căn bậc hai nguyên của số đó.