1. Lập chương trình giải phương trình bậc hai
0
2
=++ cbxax
.
2. Lập chương trình giải phương trình trùng phương:
0
24
=++ cbxax
.
3. Lập chương trình cho phép nhập vào n số thực. Tìm giá trị lớn nhất và giá trị nhỏ nhất
trong n số thực đó.
4. Viết chương trình để nhập vào một số nguyên dương, kiểm tra xem số đó có phải là số
nguyên tố hay không.
5. Cho số nguyên dương N. Hãy cho biết N có bao nhiêu chữ số và chữ số lớn nhất của N. Ví
dụ, N=1283 có 4 chữ số, chữ số lớn nhất là 8. Không sử dụng kiểu dữ liệu mảng và xâu ký
tự để giải quyết bài toán.
6. Viết chương trình giải hệ:
feydx
cbyax
=+
=+
Với các hệ số a, b, c, d, e, f được nhập.
7. Viết chương trình cho phép nhập n số thực. Tính trung bình cộng các số âm và trung bình
cộng các số dương trong n số trên.
8. Viết chương trình tính
!n
, với n được nhập từ bàn phím.
9. Viết chương trình tính
x
e
theo công thức:
...
!3!2!1
1
32
xxx
e
x
+++=
Với độ chính xác epsilon được nhập vào từ bàn phím.
10. Viết chương trình tính sin(x) theo công thức:
...
!5!3!1
)sin(
53
xxx
x
+−=
Với độ chính xác epsilon được nhập vào từ bàn phím.
11. Viết chương trình tính cos(x) theo công thức:
...
!4!2
1)cos(
42
xx
x
+−=
Với độ chính xác epsilon được nhập vào từ bàn phím.
12. Viết chương trình tính Ln(x), 0<x<=2, với sai số epsilon được nhập từ bàn phím, theo công
thức sau:
( )
( ) ( ) ( )
( )
( )
...
1
1...
4
1
3
1
2
1
1)ln(
432
+
−
−++
−
−
−
+
−
−−=
n
xxxx
xx
n
n
13. Viết chương trình tìm và in ra trên màn hình tất cả các số nguyên dương có 4 chữ số (từ
1000 đến 9999) sao cho tổng các bình phương của các chữ số của nó bằng k cho trước
(nhập vào từ bàn phím). Ví dụ, nếu nhập N=3040 và k=25, số này thỏa mãn yêu cầu vì
250403
2222
=+++
.
14. Cho biết ngày tháng năm sinh của một người. Hãy tính xem ngày đó là ngày thứ mấy trong
tuần. Ví dụ, sinh ngày 7 tháng 11 năm 2005 là ngày thứ 2. Việc tính dựa vào một ngày đã
biết (ngày hiện tại). Chú ý, năm nhuận, tháng 2 có 29 ngày. Năm nhuận là năm chia hết
cho 4 và không chia hết cho 100; hoặc chia hết cho 400.
15. Cho số nguyên dương N,
10002
≤≤
N
, tính tổng S của N số nguyên tố đầu tiên. Ví dụ,
với N=3, khi đó, S=2+3+5=10.
16. Nhập vào N số nguyên, N được xác định khi chạy chương trình. Sắp xếp N số trên sao cho:
các số dương đứng trước được sắp giảm dần, các số âm đứng sau được sắp tăng dần.
17. Nhập vào N số nguyên. Tìm phần tử lớn thứ 2 trong N số trên và hỏi có bao nhiêu số như
vậy.
18. Nhập vào một xâu ký tự. In ra xâu ký tự đã được chuẩn hóa. Ví dụ, “Nguyen tHi LaN”
được chuẩn hóa thành “Nguyen Thi Lan”.
19. Nhập một số nguyên dương, đổi số này sang cơ số 2.
20. Nhập một số nguyên dương, đổi số này sang cơ số 8.
1
21. Nhập một số nguyên dương, đổi số này sang cơ số 16.
22. Xây dựng cấu trúc điểm trên mặt phẳng. Nhập vào 4 điểm A, B, C và điểm M. Kiểm tra
xem điểm M có vị trí tương đối so với tam giác ABC là ở trong, hay ngoài tam giác.
23. Nhập vào 1 xâu ký tự, đếm xem trên xâu có bao nhiêu từ đơn.
24. Viết chương trình tính tích phân của một hàm số f(x) (ví dụ:
( )
1)sin(
4
−+=
xxxf
) trong
đoạn [a,b] với độ chính xác epsilon, a, b được nhập vào từ bàn phím.
25. Viết chương trình cho phép nhập một dãy số thực, sắp xếp dãy đó theo thứ tự tăng (giảm)
dần.
26. Viết chương trình cho phép nhập hai dãy số thực được xếp tăng dần, xây dựng dãy số mới
từ hai dãy trên theo thứ tự tăng (giảm) dần.
27. Tính đa thức cấp n
( )
n
nn
axaxaxf
+++=
−
...
1
10
.
28. Viết chương trình nhân ma trận A cấp mxn với véc tơ X cấp n.
29. Viết chương trình nhân ma trận A cấp mxn với ma trận B cấp nxp.
30. Viết chương trình đưa ra hoán vị của một ma trận A được nhập trước.
31. Bằng phương pháp đệ quy, viết chương trình tính một trong các công thức sau đây:
n
x
,
( )
!!2n
,
333
...21 n
+++
32. Viết chương trình nhập một số nguyên dương, kiểm tra xem số đó có là số thuộc dãy số
Fibonacci không. Dãy Fibonacci được định nghĩa:
21
1
0
1
1
−−
+=
=
=
nnn
fff
f
f
33. Tìm giá trị lớn nhất và nhỏ nhất của hàm số f(x) cho trước trên đoạn [a,b].
34. Tìm một nghiệm của phương trình f(x)=0 trên đoạn [a,b] với giả thiết f(x) liên tục trên
[a,b] và f(a)*f(b)<0.
35. Xây dựng một cấu trúc SV gồm các thành phần:
- Họ tên,
- Quê quán,
- Tuổi,
- Điểm toán, điểm lý, điểm hóa.
Thực hiện một số dạng:
- Đưa ra danh sách SV có tổng điểm lớn hơn hoặc bằng 15.
- Đưa ra danh sách SV có quê ở “Ha Noi” và tuổi là 20.
- Đưa ra danh sách SV có họ là “Nguyen”.
- Đưa ra danh sách SV có tên là “Tuan” và có điểm toán lớn hơn 7.
36. Xây dựng một cấu trúc tự trỏ SV (dạng liên kết đơn) gồm các thành phần dữ liệu:
- Họ tên,
- Quê quán,
- Tuổi,
- Điểm toán, điểm lý, điểm hóa.
Thực hiện một số dạng:
- Nhập một danh sách vào bộ nhớ,
- Thêm một phần tử vào đầu, cuối danh sách,
- Xóa một phần tử ở đầu, cuối danh sách,
- Xem danh sách với một điều kiện nào đó (ví dụ: tổng điểm lớn hơn 15…)
37. Viết chương trình tính:
cbap *)(
+−=
với a, b, c là các số phức.
38. Viết chương trình tính:
d
cba
p
*)(
+−
=
với a,b,c là các phân số.
2
Đề số 1 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra tất cả các sinh viên thi lại
ít nhất một môn.
(Sinh viên được sử dụng tài liệu)
3
Đề số 2 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra tất cả các sinh viên thi lại
cả ba môn.
(Sinh viên được sử dụng tài liệu)
Đề số 3 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra tất cả các sinh viên là sinh
viên giỏi (điểm trung bình 3 môn >=8 và không có môn thi lại).
(Sinh viên được sử dụng tài liệu)
Đề số 4 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra tất cả các sinh viên là sinh
viên khá (điểm trung bình 3 môn >=7; <8 và không có môn thi lại).
(Sinh viên được sử dụng tài liệu)
4
Đề số 5 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra tất cả các sinh viên là sinh
viên trung bình và không môn nào phải thi lại.
(Sinh viên được sử dụng tài liệu)
Đề số 6 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra các sinh viên có điểm
trung bình cao nhất.
(Sinh viên được sử dụng tài liệu)
Đề số 7 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra các sinh viên có điểm
trung bình thấp nhất.
(Sinh viên được sử dụng tài liệu)
5
Đề số 8 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và nhập MaSV nào đó, cho phép tìm
kiếm tuần tự theo MaSV đó.
(Sinh viên được sử dụng tài liệu)
Đề số 9 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím) và đưa ra sinh viên có điểm trung
bình cao nhất.
(Sinh viên được sử dụng tài liệu)
Đề số 10 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím), xóa bỏ tất cả các sinh viên có điểm
trung bình nhỏ hơn 5.
(Sinh viên được sử dụng tài liệu)
6
Đề số 11 (Thời gian làm bài: 30 phút)
Câu hỏi: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết đơn. Mỗi
sinh viên có các thông tin sau: MaSV (mã sinh viên, kiểu nguyên), hoten (họ tên, kiểu char[30]), dt
(điểm toán, kiểu nguyên), dl (điểm lý, kiểu nguyên), dh (điểm hóa, kiểu nguyên).
Viết chương trình nhập vào n sinh viên (n nhập từ bàn phím), tách sang danh sách khác tất cả sinh
viên có điểm trung bình lớn hơn hoặc bằng 8.
(Sinh viên được sử dụng tài liệu)
Đề số 12 (Thời gian làm bài: 20 phút)
Câu hỏi: Nhập vào một dãy gồm n số thực (n nhập từ bàn phím). Viết chương trình sắp xếp dãy số
nói trên tăng dần theo thuật toán sắp xếp nổi bọt. Đếm số bước đã thực hiện theo giải thuật ứng với
bộ dữ liệu đã nhập.
(Sinh viên được sử dụng tài liệu)
Đề số 13 (Thời gian làm bài: 20 phút)
Câu hỏi: Nhập vào một dãy gồm n số thực (n nhập từ bàn phím). Viết chương trình sắp xếp dãy số
nói trên tăng dần theo thuật toán sắp xếp chèn. Đếm số bước đã thực hiện theo giải thuật ứng với
bộ dữ liệu đã nhập.
(Sinh viên được sử dụng tài liệu)
7
Đề số 14 (Thời gian làm bài: 20 phút)
Câu hỏi: Nhập vào một dãy gồm n số thực (n nhập từ bàn phím). Viết chương trình sắp xếp dãy số
nói trên tăng dần theo thuật toán sắp xếp chọn. Đếm số bước đã thực hiện theo giải thuật ứng với
bộ dữ liệu đã nhập.
(Sinh viên được sử dụng tài liệu)
Đề số 15 (Thời gian làm bài: 20 phút)
Câu hỏi: Nhập vào một dãy gồm n số thực (n nhập từ bàn phím). Viết chương trình sắp xếp dãy số
nói trên giảm dần theo thuật toán sắp xếp nổi bọt. Đếm số bước đã thực hiện theo giải thuật ứng
với bộ dữ liệu đã nhập.
(Sinh viên được sử dụng tài liệu)
Đề số 16 (Thời gian làm bài: 20 phút)
Câu hỏi: Nhập vào một dãy gồm n số thực (n nhập từ bàn phím). Viết chương trình sắp xếp dãy số
nói trên giảm dần theo thuật toán sắp xếp chèn. Đếm số bước đã thực hiện theo giải thuật ứng với
bộ dữ liệu đã nhập.
(Sinh viên được sử dụng tài liệu)
8
Đề số 17 (Thời gian làm bài: 20 phút)
Câu hỏi: Nhập vào một dãy gồm n số thực (n nhập từ bàn phím). Viết chương trình sắp xếp dãy số
nói trên giảm dần theo thuật toán sắp xếp chọn. Đếm số bước đã thực hiện theo giải thuật ứng với
bộ dữ liệu đã nhập.
(Sinh viên được sử dụng tài liệu)
Đề số 18 (Thời gian làm bài: 20 phút)
Câu hỏi: Viết chương trình nhập vào một ma trận (kích thước được nhập trong khi chạy chương
trình). Tìm tất cả các điểm yên ngựa trong ma trận đó.
(Sinh viên được sử dụng tài liệu)
Đề số 19 (Thời gian làm bài: 30 phút)
Câu hỏi: Viết chương trình cho phép nhập vào n số nguyên dương lẻ, các số này được lưu dạng
danh sách liên kết đơn. Tính tổng các phần tử là số chính phương.
(Sinh viên được sử dụng tài liệu)
9