You are on page 1of 14

BÀI TẬP THỰC HÀNH

LẬP TRÌNH C CƠ BẢN


-----o0o-----

I. PHẦN NHẬP XUẤT CƠ BẢN


1. Viết chương trình nhập xuất ra màn hình thông tin của mỗi sinh viên theo
mẫu sau:
Ho ten:
Ma so sinh vien:
Lop:
So dien thoai: Gioi tinh:
2. Viết chương trình xuất ra màn hình bài thơ sau:
XUÂN VỀ

Từng đàn con trẻ chạy xun xoe


Mưa lạnh, trời quang, nắng mới hoe
Lá nõn nhành non, ai tráng bạc?
Gió về từng tận, gió bay đi...

Thong thả dân gian nghỉ việc đồng


Lúa thì con gái mượt như nhung
Đầy vươn hoa bưởi, hoa cam rụng
Ngào ngạt hương bay, bướm vẽ vòng

Trên đường cát mịn, một đôi cô


Yếm đỏ, khăn thâm, trNy hội chùa
Gậy trúc dắt bà già tóc bạc
Tay lần tràng hạt, miệng nam mô.

3. Viết chương trình nhập vào 2 số nguyên a, b. Tính tổng, hiệu, tích, thương
của 2 số trên và in kết quả ra màn hình
4. Viết chương trình nhập vào 4 số nguyên a, b, c, d. Tính giá trị trung bình
cộng của 4 số trên và in kết quả ra màn hình

Page 1 of 14
II. PHẦN VIẾT CHƯƠNG TRÌNH THEO CẤU TRÚC LỆNH
1.1) Cấu trúc if/ if…else và switch…case
5. N hập vào hai số nguyên a, b. In ra màn hình giá trị lớn nhất.
6. Cho ba số a, b, c đọc vào từ bàn phím. Hãy tìm giá trị lớn nhất của ba số
trên và in ra kết quả.
7. Cho ba số a, b, c đọc vào từ bàn phím. Hãy in ra màn hình theo thứ tự tăng
dần các số. (Chỉ được dùng thêm hai biến phụ).
8. Giải và biện luận phương trình: ax + b = 0

Giải và biện luận phương trình: ax + bx + c = 0


2
9.

Giải và biện luận phương trình: ax + bx + c = 0


4 2
10.
11. Viết chương trình nhập vào một số nguyên n gồm ba chữ số. Xuất ra màn
hình chữ số lớn nhất ở vị trí nào?
Ví dụ: n=291. Chữ số lớn nhất nằm ở hàng chục (chữ số 9).
12. Viết chương trình nhập vào số nguyên n gồm ba chữ số. Xuất ra màn hình
theo thứ tự tăng dần của các chữ số.
Ví dụ: n=291. Xuất ra 129.
13. N hập vào ngày, tháng, năm. Kiểm tra xem ngày, tháng, năm đó có hợp lệ
hay không? In kết quả ra màn hình.
14. N hập vào giờ, phút, giây. Kiểm tra xem giờ, phút, giây đó có hợp lệ hay
không? In kết quả ra màn hình.
15. Viết chương trình nhập vào ngày, tháng, năm hợp lệ. Cho biết năm này có
phải là năm nhuận hay không? In kết quả ra màn hình.
16. Viết chương trình tính diện tích và chu vi các hình: tam giác, hình vuông,
hình chữ nhật và hình tròn với những thông tin cần được nhập từ bàn phím.
17. Viết chương trình tính tiền cước TAXI. Biết rằng:
-
km đầu tiên là 13000đ.
-
Mỗi km tiếp theo là 12000đ.
-
Nếu lớn hơn 30km thì mỗi km thêm sẽ là 11000đ.
Hãy nhập số km sau đó in ra số tiền phải trả.

Page 2 of 14
18. N hập vào 3 số nguyên dương. Kiểm tra xem 3 số đó có lập thành tam giác
không? N ếu có hãy cho biết tam giác đó thuộc loại nào? (Cân, vuông, đều,
…).
19. Viết chương trình nhập vào số nguyên dương n. Kiểm tra xem n có phải là
số chính phương hay không? (số chính phương là số khi lấy căn bặc 2 có kết
quả là nguyên).
1.2) Cấu trúc lặp (mỗi bài viết bằng 3 loại vòng lặp: for / while / do..while)
20. Viết chương trình nhập số nguyên dương n. Liệt kê n số nguyên tố đầu tiên.
21. Viết chương trình nhập vào hai số nguyên dương a và b. Tìm ước số chung
lớn nhất và bội số chung nhỏ nhất của a và b.
22. Viết chương trình nhập vào một số nguyên n gồm tối đa 10 chữ số (4 bytes).
In ra màn hình giá trị nhị phân của số trên. (Hướng dẫn: chia lấy dư cho 2 và
xuất theo thứ tự ngược lại).
23. Viết chương trình đếm số ước số của số nguyên dương N .
Ví dụ: N=12
số ước số của 12 là 6
24. Một số hoàn thiện là một số có tổng các ước số của nó (không kể nó) bằng
chính nó. Hãy liệt kê các số hoàn thiện nhỏ hơn 5000.
Ví dụ: số 6 là số hòan thiện vì tổng các ước số là 1+2+3 = 6.
25. (*) N hập vào ngày, tháng, năm. Cho biết đó là ngày thứ mấy trong năm.
26. Tính n!, với n ≥ 0

27. Tính P (n) = 1.3.5K (2n + 1) , với n ≥ 0

28. Tính S (n) = 1 + 3 + 5 + L + (2 × n + 1) , với n ≥ 0


n +1
29. Tính S (n) = 1 − 2 + 3 − 4 + L + (−1) n, với n > 0

30. Tính S (n) = 1 + 1.2 + 1.2.3 + L + 1.2.3K n , với n > 0

Tính S (n) = 1 + 2 + 3 + L + n ,
2 2 2 2
31. với n > 0
1 1 1
S ( n) = 1 + + +L+
32. Tính 2 3 n, với n > 0

Tính S (n) = 1 + 2 + 3 + L + n ,
2 3 n
33. với n ≥ 0
Page 3 of 14
1 2 3 n
S ( n) = + + +L+
34. Tính 2 3 4 n +1 , với n > 0
1 1 1
S ( n) = 1 + + +L+
35. Tính 2! 3! n! , với n > 0
1+ 2 1+ 2 + 3 1+ 2 + 3 +L+ n
S ( n) = 1 + + +L+
36. Tính 2! 3! n! , với n > 0
1 1 1
S ( n) = 1 + + +L+
37. (*) Tính 1+ 2 1+ 2 + 3 1+ 2 + 3 +L+ n , với n > 0

Tính P( x, y ) = x .
y
38.
39. Tính S (n) = 1 + (1 + 2) + (1 + 2 + 3) + L + (1 + 2 + 3 + L + n) ,
40. In ra dãy số Fibonaci
f1 = f0 =1;
fn = fn-1 + fn-2; (n>1)

IiI. PHẦN VIẾT CHƯƠNG TRÌNH THEO THỦ TỤC HÀM


1.1) Kiểu dữ liệu cơ sở
41. Viết chương trình tính diện tích và chu vi của hình chữ nhật với chiều dài và
chiều rộng được nhập từ bàn phím.
42. Viết chương trình tính diện tích và chu vi hình tròn với bán kính được nhập
từ bàn phím.
43. N hập số nguyên dương n (n>0). Liệt kê tất cả các số nguyên tố nhỏ hơn n.
44. N hập số nguyên dương n (n>0). Liệt kê n số chính phương đầu tiên.
45. N hập số nguyên dương n (n>0). Đếm xem có bao nhiêu số hoàn thiện < n.
46. N hập số nguyên dương n (0 <= n< 1000) và in ra cách đọc của n.
Ví dụ: N hập n = 105. In ra màn hình: Mot tram le nam.

47. Viết chương trình tính tiền thuê máy dịch vụ Internet và in ra màn hình kết
quả. Với dữ liệu nhập vào là giờ bắt đầu thuê (GBD), giờ kết thúc thuê
(GKT), số máy thuê (SoMay).
- Điều kiện cho dữ liệu nhập: 6<=GBD<GKT<=21. Giờ là số nguyên.

Page 4 of 14
- Đơn giá: 2500đ cho mỗi giờ máy trước 17:30 và 3000đ cho mỗi giờ máy
sau 17:30.
48. Viết chương trình tính tiền lương ngày cho công nhân, cho biết trước giờ
vào ca, giờ ra ca của mỗi người.
Biết rằng:
- Tiền trả cho mỗi giờ trước 12 giờ là 6000đ và sau 12 giờ là 7500đ.
- Giờ vào ca sớm nhất là 6 giờ sáng và giờ ra ca trễ nhất là 18 giờ (Giả
sử giờ nhập vào nguyên).
49. N hập vào 2 số nguyên p, q và tính biểu thức sau:
(-q/2+(p3/27+q2/4)1/2)1/3 + (-q/2 – (p3/27+q2/4)1/2)1/3
50. N hập vào 3 số thực a, b, c và kiểm tra xem chúng có thành lập thành 3 cạnh
của một tam giác hay không? N ếu có hãy tính diện tích, chiều dài mỗi
đường cao của tam giác và in kết quả ra màn hình.
- Công thức tính diện tích s = sqrt(p*(p-a)*(p-b)*(p-c) )
- Công thức tính các đường cao: ha = 2s/a, hb=2s/b, hc=2s/c.
(Với p là nữa chu vi của tam giác).
51. N hập vào 6 số thực a, b, c, d, e, f . Giải hệ phương trình sau :
⎧ ax + by = c
⎨ dx + ey = f

52. Viết chương trình nhập 2 số nguyên dương a, b. Tìm USCLN và BSCN N
của hai số nguyên đó.
53. Viết chương trình tính tổng nghịch đảo của n giai thừa.
54. Cho 2 số nguyên a, b. Viết hàm hoán vị giá trị 2 số trên.
55. (*) Viết chương trình nhập số nguyên dương n gồm 5 chữ số, kiểm tra xem
các chữ số n có phải là số đối xứng hay không.
Ví dụ: Đối xứng: 13531
Không đối xứng: 13921
56. Viết chương trình nhập số nguyên dương n gồm k chữ số (0 < k ≤ 5) , đếm
xem n có bao nhiêu chữ số chẵn và bao nhiêu chữ số lẻ.
57. Viết chương trình nhập số nguyên dương n gồm k chữ số (0 < k ≤ 5) , đếm
xem n có bao nhiêu chữ số là số nguyên tố.

Page 5 of 14
58. Viết chương trình nhập số nguyên dương n gồm k chữ số (0 < k ≤ 5) , tính
tổng các ước số dương của n.
Ví dụ: Nhập n=6
Tổng các ước số từ 1 đến n: 1+2+3+6=12.
59. Viết chương trình nhập số nguyên dương n gồm k chữ số (0 < k ≤ 5) , tìm ước
số lẻ lớn nhất của n.
Ví dụ: Ước số lẻ lớn nhất của 27 là 9.
60. Viết chương trình nhập số nguyên dương n gồm k chữ số (0 < k ≤ 5) , kiểm
tra xem các chữ số của n có toàn lẻ hay toàn chẵn không.
61. (*) Viết chương trình nhập số nguyên dương n gồm k chữ số (0 < k ≤ 5) , sắp
xếp các chữ số của n theo thứ tự tăng dần.
Ví dụ: Nhập n=1536
Kết quả sau khi sắp xếp: 1356.
1.2) Kiểu dữ liệu mảng
1.2.1) N hập – xuất mảng
62. Viết chương trình nhập xuất mảng một chiều các số thực.
63. Viết chương trình khởi tạo giá trị các phần tử là 0 cho mảng một chiều các
số nguyên gồm n phần tử.
64. Viết chương trình phát sinh ngẫu nhiên mảng một chiều các số nguyên âm.
65. Viết chương trình phát sinh ngẫu nhiên mảng một chiều các số nguyên sao
cho mảng có thứ tự tăng dần (Không sắp xếp).
66. Viết chương trình nhập mảng các số thực và xuất các phần tử âm trong
mảng.
67. Viết chương trình nhập mảng các số nguyên và xuất các phần tử lẻ có trong
mảng.
68. Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra các
phần tử chẵn nhỏ hơn 20.
69. Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra màn
hình các phần tử là số nguyên tố.

Page 6 of 14
70. Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra màn
hình các phần tử là số chính phương nằm tại những vị trí lẻ trong mảng.
1.2.2) Tìm kiếm
71. Viết phương thức tìm vị trí phần tử có giá trị x xuất hiện cuối cùng trong
mảng.
72. Viết phương thức tìm vị trí của phần tử nhỏ nhất trong mảng các số nguyên.
73. Viết phương thức tìm vị trí của phần tử lớn nhất trong mảng các số nguyên.
74. Viết phương thức in vị trí các phần tử nguyên tố trong mảng các số nguyên.
75. Viết phương thức in vị trí các phần tử nguyên tố lớn hơn 23.
76. Viết phương thức tìm vị trí phần tử âm đầu tiên trong mảng. N ếu không có
phần tử âm trả về –1.
77. Viết phương thức tìm vị trí phần tử âm lớn nhất trong mảng.
78. Viết phương thức tìm vị trí phần tử dương đầu tiên trong mảng. N ếu không
có phần tử dương trả về –1.
79. Viết phương thức tìm vị trí phần tử dương bé nhất trong mảng.
80. Viết phương thức in các phần tử là bội của 3 hoặc 5.
81. Viết phương thức tìm số chẵn cuối cùng có trong mảng, nếu không tồn tại số
chẵn phương thức trả về -1 .
82. Viết phương thức tìm số lẻ lớn nhất có trong mảng, nếu không tồn tại số lẻ
phương thức trả về -1.
83. Viết phương thức tìm và đổi chỗ phần tử lớn nhất với phần tử nhỏ nhất
trong mảng.
84. N hập vào X, viết phương thức in ra màn hình những phần tử có giá trị từ 1
đến X có trong mảng.
85. Viết chương trình nhập vào một dãy số a gồm n số thực ( n ≤ 100 ), nhập vào
dãy số b gồm m số thực ( m ≤ 100 ).
o In ra những phần tử chỉ xuất hiện trong dãy a mà không xuất hiện trong
dãy b.
o In ra những phần tử xuất hiện ở cả hai dãy.

Page 7 of 14
1.2.3) Đếm – tần suất
86. Viết phương thức đếm các phần tử âm, phương thức đếm các phần tử dương
trong mảng.
87. Viết phương thức đếm các phần tử chẵn, phương thức đếm các phần tử lẻ
trong mảng.
88. Viết phương thức đếm số lần xuất hiện của phần tử x trong mảng.
89. Viết phương thức đếm các phần tử nhỏ hơn x trong mảng.
90. Viết phương thức đếm các phần tử là số nguyên tố trong mảng.
91. Viết phương thức đếm các phần tử là số hoàn thiện trong mảng.
92. Viết phương thức đếm các phần tử là bội của 3 hoặc 5 trong mảng các số
nguyên.
1.2.4) Tính tổng – trung bình có điều kiện
93. Viết phương thức tính tổng các phần tử chẵn trong mảng.
94. Viết phương thức tính tổng các phần tử lẻ trong mảng các số nguyên.
95. Viết phương thức tính tổng các phần tử là nguyên tố trong mảng.
96. Viết phương thức tính tổng các phần tử nằm ở vị trí chẵn trong mảng các số
nguyên.
97. Viết phương thức tính tổng các phần tử chia hết cho 5 có trong mảng.
98. Viết phương thức tính tổng các phần tử cực đại trong mảng các số nguyên
(phần tử cực đại là phần tử lớn hơn các phần tử xung quanh nó).
Ví dụ : 152635186

99. Viết phương thức tính tổng các phần tử cực tiểu trong mảng các số nguyên
(phần tử cực tiểu là phần tử nhỏ hơn các phần tử xung quanh nó ).
Ví dụ : 6429537158

100. Viết phương thức tính tổng các phần tử là bội của 3 hoặc 5 trong mảng các
số nguyên.
101. Viết phương thức tính tổng các phần tử là số hoàn thiện trong mảng các số
nguyên.

Page 8 of 14
102. Viết phương thức tính giá trị trung bình các số hoàn thiện trong mảng các số
nguyên.
103. Viết phương thức tính giá trị trung bình các phần tử có giá trị lẻ trong mảng
số nguyên.
104. Viết phương thức tính giá trị trung bình các phần tử có giá trị là ước số của
x trong mảng số nguyên (x nhập từ bàn phím).

1.2.5) Sắp xếp


105. Viết phương thức sắp xếp mảng theo thứ tự giảm dần.
106. Viết phương thức sắp xếp mảng theo thứ tự tăng dần của các phần tử là số
nguyên tố.
107. Viết phương thức sắp xếp các phần tử lẻ tăng dần.
108. Viết phương thức sắp xếp các phần tử chẵn giảm dần.
109. Viết phương thức sắp xếp các phần tử chẵn nằm bên trái theo thứ tự tăng
dần còn các phần tử lẻ bên phải theo thứ tự giảm dần.
110. Viết phương thức sắp xếp các phần tử âm giảm dần từ trái sang phải, phần
tử dương tăng dần từ phải sang trái.

1.2.6) Xóa
111. Viết phương thức xoá phần tử tại vị trí lẻ trong mảng.
112. Viết phương thức xoá phần tử có giá trị lớn nhất trong mảng.
113. Cho giá trị X, viết phương thức xoá tất cả các phần tử có giá trị nhỏ hơn X.
114. Cho giá trị X, viết phương thức xoá phần tử có giá trị gần X nhất.
115. Viết phương thức loại bỏ các phần tử có giá trị trùng trong mảng
Ví dụ: 1 5 2 5 4 3 10 14 1 3 5 5 5 71
Sau khi loại trùng: 1 5 2 4 3 10 14 71

1.2.7) Chèn
116. Viết phương thức chèn phần tử có giá trị X vào vị trí đầu tiên của mảng.
117. Viết phương thức chèn phần tử có giá trị X vào phía sau phần tử có giá trị
lớn nhất trong mảng.

Page 9 of 14
118. Viết phương thức chèn phần tử có giá trị X vào trước phần tử có giá trị là số
nguyên tố đầu tiên trong mảng.
119. Viết phương thức chèn phần tử có giá trị X vào phía sau tất cả các phần tử
có giá trị chẵn trong mảng.

1.2.8) Tách – ghép


120. Cho 2 mảng số nguyên a và b kích thước lần lượt là n và m. Viết chương
trình nối xen kẻ (đan xen) lần lượt các phần tử mảng a và b vào mảng c.
121. Viết chương trình tách 1 mảng các số nguyên thành 2 mảng a và b, sao cho
mảng a chứa toàn số lẻ và mảng b chứa toàn số chẵn.
Ví dụ: Mảng ban đầu: 1 3 8 2 7 5 9 0 10
Mảng a: 1 3 75 9
Mảng b: 8 2 10

122. Cho 2 mảng số nguyên a và b kích thước lần lượt là n và m. Viết chương
trình nối 2 mảng trên thành mảng c theo nguyên tắc chẵn ở đầu mảng và lẻ ở
cuối mảng.
Ví dụ: Mảng a: 3 2 7 5 9
Mảng b: 1 8 10 4 12 6
Mảng c: 6 12 4 10 2 8 3 1 7 5 9

1.2.9) Bài tập luyện tập và nâng cao

123. Viết chương trình nhập vào mảng A gồm n phần tử, trong quá trình nhập
kiểm tra các phần tử nhập vào không được trùng, nếu trùng thông báo và
yêu cầu nhập lại.
124. Viết hàm tính tổng của từng dãy con giảm có trong mảng.
125. (*) Cho mảng các số nguyên a gồm n phần tử ( n ≤ 30000 ) và số dương k
( k ≤ n ). Hãy chỉ ra số hạng lớn thứ k của mảng.
Ví dụ: Mảng a: 6 3 1 10 11 18
k=2
Kết quả: 10
126. (*) Cho 2 dãy A, B các số nguyên (kích thước dãy A nhỏ hơn dãy B). Hãy
kiểm tra xem A có phải là con của B hay không?
Page 10 of 14
127. Viết hàm liệt kê các bộ 4 số a, b, c, d trong mảng các số nguyên (có ít nhất 4
phần tử và đôi một khác nhau) sao cho a + b = c + d.
128. (*) Viết chương trình tính trung bình cộng của các tổng các dãy tăng dần có
trong mảng các số nguyên.
Ví dụ: 1 2 3 4 2 3 4 5 6 4 5 6 => TB = 15.
129. Viết chương trình tính tổng tất cả các phần tử xung quanh trên mảng các số
nguyên. (Phần tử xung quanh là hai phần tử bên cạnh cộng lai bằng chính nó
(Ví dụ: 1 3 2 Î 1,2 là hai phần tử xung quanh của 3).
Ví dụ : 1 3 2 5 3 9 6 Î tổng 17
130. (**) Viết chương trình nhập vào hai số lớn a, b nguyên ( a, b có từ 20 chữ số
trở lên). Tính tổng, hiệu, tích, thương của hai số trên.
131. Viết hàm tính tổng các phần tử là số Amstrong (số Amstrong là số có đặc
điểm như sau: số có k ký số, tổng của các luỹ thừa bậc k của các ký số bằng
chính số đó.
Ví dụ: 153 là số có các ký số 13+53+33= 153 là một số Amstrong).
132. Viết hàm tìm và xóa tất cả các phần tử trùng với x trong mảng một chiều các
số nguyên, nếu không tồn tại phần tử x trong mảng thì trả về -1.
133. (**) Viết hàm xoá những phần tử sao cho mảng kết quả có thứ tự tăng dần
và số lần xoá là ít nhất.
134. Cho dãy a gồm n số nguyên có thứ tự tăng dần. N hập vào một phần tử
nguyên X, viết hàm chèn X vào dãy sao cho dãy vẫn có thứ tự tăng dần
(không sắp xếp).
135. Viết chương trình tìm số lẻ nhỏ nhất lớn hơn mọi số chẵn có trong mảng.
136. Viết hàm tìm giá trị chẵn nhỏ nhất nhỏ hơn mọi giá trị lẻ trong mảng các số
nguyên.
137. Viết hàm tìm phần tử xuất hiện nhiều nhất trong mảng các số nguyên.
138. Viết chương trình đếm và liệt kê các mảng con tăng dần trong mảng một
chiều các số nguyên.
Ví dụ: 6 5 3 2 3 4 2 7 các dãy con tăng dần là 2 3 4 và 2 7
139. Viết chương trình tìm mảng con tăng dần có tổng lớn nhất trong mảng một
chiều.
Page 11 of 14
140. (*) Viết chương trình nhập vào một dãy số a gồm n số nguyên (n <= 100).
Tìm và in ra dãy con tăng dài nhất
Ví dụ : Nhập dãy a : 1 2 3 6 4 7 8 3 4 5 6 7 8 9 4 5
Dãy con tăng dài nhất : 3 4 5 6 7 8 9

141. (**) Viết chương trình tách 1 mảng các số nguyên thành 2 mảng a và b, sao
cho kết quả thu được là:
o Mảng a chứa toàn số lẻ tăng dần.
o Mảng b chứa toàn số chẵn giảm dần.
(Không dùng sắp xếp)
Hướng dẫn: Tìm vị trí chèn thích hợp khi trích phần tử từ mảng ban đầu.

Ví dụ: Mảng ban đầu: 9 3 8 2 7 5 1 0 10


Mảng a: 1 3 5 7 9
Mảng b: 10 8 2
142. (**) Viết chương trình in ra tam giác Pascal (dùng mảng một chiều).
143. Viết chương trình nhập vào dãy số a gồm n số thực ( n <= 100 ), nhập vào
dãy số b gồm m số thực ( m <= 100 ).
o Hãy sắp xếp hai dãy theo thứ tự tăng dần.
o (*) Trộn 2 dãy trên thành dãy c sao cho dãy c vẫn có thứ tự tăng.
o Xuất dãy a, b, c ra màn hình.
144. (*) Cho mảng C có n phần tử ( n < 200 ), các phần tử là các chữ số trong hệ
đếm cơ số 16 (Hexa) (điều kiện mỗi phần tử <= n ). Hãy tách mảng C ra
các mảng con theo điều kiện sau: các mảng con được giới hạn bởi hai lần
xuất hiện thứ hai của con số trong dãy.
Ví dụ: 123A4518B23 Î có các dãy con là123A451, 23A4518B2,
23A4518B23
145. (**) Cho hai số nguyên dương A, B. Hãy xác định hai số C, D tạo thành từ
hai số A, B sao cho C là số lớn nhất, D là số nhỏ nhất. Khi gạch đi một số
chữ số trong C (D), thì các số còn lại giữ nguyên tạo thành A, các chữ số bỏ
đi giữ nguyên tạo thành B.
Ví dụ: A = 52568, B = 462384 -> C = 54625682384, D = 45256236884.
146. Viết chương trình nhập vào dãy số a gồm n số nguyên ( n <= 100 ).
Page 12 of 14
o Hãy đảo ngược dãy đó.
Ví dụ: Nhập a: 3 4 5 2 0 4 1
Dãy sau khi đảo: 1 4 0 2 5 4 3

o (*) Hãy kiểm tra xem dãy đã cho có thứ tự chưa (dãy được gọi là thứ tự
khi là dãy tăng hoặc dãy giảm ).
147. Cho mảng A có n phần tử hãy cho biết mảng này có đối xứng hay không.
148. (**) Hãy viết chương trình phát sinh ngẫu nhiên mảng các số nguyên gồm
10.000 phần tử, mỗi phần tử có giá trị từ 0 đến 32.000 và xây dựng phương
thức thống kê số lần xuất hiện các phần tử trong mảng, sau đó cho biết phần
tử nào xuất hiện nhiều lần nhất.
Ví dụ: Mảng: 5 6 11 4 4 5 4
5 xuat hien 2 lan
6 xuat hien 1 lan
11 xuat hien 1 lan
4 xuat hien 3 lan
4 xuat hien nhieu lan nhat

149. Cho mảng A có n phần tử. N hập vào số nguyên k ( k ≥ 0 ), dịch phải xoay
vòng mảng A k lần.
Ví dụ: Mảng A: 572319
Nhập k = 2
Dịch phải xoay vòng mảng A: 195723

Page 13 of 14
PHÂN BỔ THỜI GIAN
Tuần Bài tập hướng dẫn Ghi chú

Hướng dẫn sinh viên sử dụng thành thạo công cụ lập trình:
1 1, 2, 3, 4 Tạo/ mở project, chép bài, biên dịch, sửa lỗi, các cửa sổ,
chạy chương trình, …
2 5, 6, 7, 11 Sinh viên tự làm: 8, 9, 10

3 12, 13, 14, 15 Sinh viên tự làm: 16, 17, 18, 19

4 20, 21, 23, 26 Sinh viên tự làm: 22, 24, 27, 28

5 35, 36, 38, 39 Sinh viên tự làm: 29, 30, 31, 32, 33, 34, 35, 36

6 41, 43, 45, 46, 54 Sinh viên tự làm: 42, 44, 47, 48, 50, 52, 56, 57, 58, 59, 60

7 62, 64, 67, 68 Sinh viên tự làm: 63, 65, 66, 69, 70

8 71, 72, 76, 77 Sinh viên tự làm: 73, 74, 75, 78, 79, 80, 81, 82, 83, 84

9 93, 94, 95, 96 Sinh viên tự làm: 97->104

10 105, 106, 111, 114 Sinh viên tự làm: 107, 108, 112, 113

11 116, 120, 121 Sinh viên tự làm: 117, 118, 119

12 Kiểm tra

Page 14 of 14

You might also like