Giáo trình Lập trình C - Lê Văn Hạnh (Phần nâng cao)

Tóm tắt Giáo trình Lập trình C - Lê Văn Hạnh (Phần nâng cao): ... for (int i=0; i<dong ; i++) for (int j=0; j<cot ; j++) if ( a[i][j] > ln ) ln=a[i][j] ; return ln ; } Lập trình C (Phần nâng cao) – Mảng hai chiều (Two Dimensionals Array) 21 3.7.5. Sắp xếp: Viết hàm sắp xếp ma trận tăng dần từ trên xuống dưới và từ trái sang phải - Không....nguyen,x.tu,x.mau); } 5.4.3. Điểm trong mặt phẳng Oxy - Hãy khai báo kiểu dữ liệu biểu diễn khái niệm điểm trong mặt phẳng Oxy và định nghĩa hàm nhập, hàm xuất cho kiểu dữ liệu này. - Kiểu dữ liệu struct Diem { int x; int y; }; typedef struct Diem DIEM; - Định nghĩa hàm nhập ... while(*(s+i)!= ‘\0’) { if (*(s+i)= =kt) f1(s,i);i--; i ++; } } void f1(char s[], int vt) { for (int i = vt;i<strlen(s);i++) s[i]=s[i+1]; } void main() { char *s; s= “aabccaba”; f(s, ‘a’); printf(“%s”,s); } A. aabb B. bccb C. caba D. aaaa 56. Xét hàm sau: ...

pdf78 trang | Chia sẻ: havih72 | Lượt xem: 518 | Lượt tải: 1download
Nội dung tài liệu Giáo trình Lập trình C - Lê Văn Hạnh (Phần nâng cao), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
 
155. tính tích hai ma trận A(n x m)và B(m x l). In kết quả ma trận tích C(n xl). 
156. (*)Tìm ma trận nghịch đảo 
157. (*) Tính định thức của ma trận 
158. (*) Tạo ma phương bậc (n x n). 
7.2.11. Game 
159. Viết chương trình bắn tàu với máy. 
160. Viết chương trình Puzzle 15 số. 
161. Viết trò chơi logic. Quy tắc trò chơi như sau: Máy sẽ tạo ngẫu nhiên một số gồm bốn chữ số 
(không cho ta biết), trong đó không có chữ số nào được lặp lại. Sau đó máy sẽ yêu cầu ta đoán. 
Nếu trong số giả định của ta có chữ số nào trùng với chữ số mà máy đã tạo thì: nếu vị trí chữ số 
đó trùng với vị trí mà máy đã tạo ra thì nó sẽ cho 1 dấu +, nếu chỉ trùng chữ số nhưng khác vị trí 
thì máy sẽ cho dấu -. Nếu trong số giả định có chữ số không có trong nhóm chữ máy tạo ra thì nó 
không cho dấu gì hết. 
162. Viết chương trình minh họa kỹ thuật sắp xếp mảng. 
163. Viết chương trình demo vẽ hộp trên màn hình (tương tự Screen saver). 
164. Viết trò chơi “tung đồng xu”. Quy tắc trò chơi như sau: Có hai người A,B mỗi người có 10 đồng 
tiền. Đến lượt người nào đi sẽ tung đồng tiền lên, nếu nó sấp(1) thì người đó thắng và người kia 
phải mất một đồng, nếu nó ngửa(0) thì người đó phải mất một đồng. Sau đó đổi người.Trò chơi 
sẽ kết thúc nếu có một người hết tiền. 
7.2.12. KHÁC 
165. Nhập vào ma trận vuông số thực cấp n. Kiểm tra các tính chất sau đây của ma trận: 
- Ma trận tam giác trên hay ma trận tam giác dưới ? ma trận đơn vị hay không phải (ma trận tam 
giác trên (dưới) là ma trận có ít nhất một phần tử trên đường chéo chính khác 0 và toán bộ các 
phần tử dưới (trên) đường chéo đều bằng 0. Ma trận đơn vị có tất cả các phần tử trên đường 
chéo chính bằng 1 và các phần tử khác bằng 0. 
- Ma trận đối xứng qua đường chéo chính hay đối xứng tâm hay không phải. (Ma trận đối xứng 
qua đường chéo chính : a[i][j] = a[j][i] với mọi i, j. Còn với ma trận đối xứng tâm : a[i][j] = 
a[n-i-1][n-j-1]) 
- Ma trận lõm hay ma trận lồi hay không phải (Ma trận lõm có các phần tử bên trong nhỏ hơn 
các phần tử trên 4 cạnh, ngược lại là lồi) 
166. Nhập vào ma trận số thực cấp n x m. Tạo menu thực hiện các thao tác trên ma trận: 
- Tìm phần tử nhỏ nhất, lớn nhất (chỉ ra vị trí ) 
Lập trình C (Phần nâng cao) – Phần bài tập 
68 
- Tìm hàng có tổng lớn nhất, cột có tổng nhỏ nhất. In vị trí tìm thấy và tổng của nó 
- In các phần tử nằm trên đường chéo song song và cách đường chéo chính khoảng cách là k-1 
(k nhập từ bàn phím. Có 2 đường chéo cách đường chéo chính k-1 là : {a[i][ik]}) 
167. Nhập vào ma trận số thực cấp n x m. Tạo menu thực hiện các thao tác trên ma trận: 
- Xóa hàng k (nhập từ bàn phím) 
- Xóa cột k (nhập từ bàn phím) 
- Xóa hàng và cột chứa phần tử nhỏ nhất 
- Nhập số nguyên dương k (k<n) và dãy có n số thực, chèn dãy đó vào hàng k. 
- Nhập số nguyên dương k (k<m) và dãy có m số thực, chèn dãy đó vào cột k. 
- Hoán vị các hàng sao cho tổng giá trị của từng hàng giảm từ trên xuống. 
168. Nhập ma trận ký tự, vuông cấp n. Thực hiện các thao tác: 
- Đổi các ký tự alphabet thành ký tự hoa. 
- Cho biết hàng nào có nhiều nguyên âm nhất (nếu có 2 hàng thì in hàng phía trên) 
169. Cho mảng 2 chiều A gồm các số nguyên dương n dòng, m cột (0<m, n<20). Viết chương trình 
thực hiện các yêu cầu sau: 
- Tính tổng các phần tử là số nguyên tố trên dòng thứ i của A. 
- Tìm phần tử lớn nhất, xoá dòng, cột chứa phần tử lớn nhất đó. 
- In ra những dòng nào có tổng giá trị các phần tử là số nguyên tố bằng tổng giá trị các phần tử 
còn lại. 
- Xoá cột có nhiều số nguyên tố nhất (nếu có 2 cột có cùng số lượng số nguyên tố thì xoá cột 
đầu tiên). 
170. Viết chương trình nhập/ xuất một ma trận vuông số thực n x n (n<=10). Sau đó thực hiện các yêu 
cầu sau: 
- Thiết kế hàm xét cột thứ j của ma trận có thuộc dạng hội tụ hay không. Cột j được gọi là hội 
tụ khi thoả điều kiện:càng về cuối ma trận trị tuyệt đối của độ sai biệt giữa hai phần tử kế nhau 
trong cột càng giảm. 
- Vận dụng câu a) để khảo sát xem ma trận có phải là hội tụ hay không? (nghĩa là mọi cột của 
ma trận đều hội tụ). 
7.3. ĐỆ QUY 
7.3.1. Tổng/tích một dãy số 
171. Tính
)12(5.3.1)(  nnP 
, với 0n 
172. Tính
)12(531)(  nnS 
, với 0n 
173. Tính nnS
n 1)1(4321)(   , với 0n 
174. Tính nnS  3.2.13.2.12.11)(  , với 0n 
175. Tính
2222 321)( nnS   , với 0n 
176. Tính n
nS
1
3
1
2
1
1)(  
, với 0n 
177. Tính n
nS








321
1
321
1
21
1
1)(
, với 0n 
Lập trình C (Phần nâng cao) – Phần bài tập 
69 
178. Tính
yxyxP ),(
179. Tính
)321()321()21(1)( nnS  
, với 0n 
180. Tính n
nS
2
1
....
6
1
4
1
2
1
1)( 
181. Tính 12
1
....
7
1
5
1
3
1
1)(


n
nS
182. Tính 
)1(
1
....
43
1
32
1
21
1
)(








nn
nS
183. Tính 1
....
4
3
3
2
2
1
)(


n
n
nS
184. Tính 22
12
....
6
5
4
3
2
1
)(



n
n
nS
185. Tính S(n) = x + x2 + x3 + xn 
186. Tính S(n) = x2 + x4 ++x2n. 
187. Tính S(n) = x + x3 + x5 +x2n+1. 
188. Tính n
nS








...321
1
....
4321
1
321
1
21
1
1)(
189. Tính !
....
!4!3!2
)(
432
n
xxxx
xnS
n

190. Tính S(n). Biết S(n) có n dấu phân số 
1
1
1
1
1
...
1
...
1
1
1
1
1
1
)(






nS
191. Tính S(n) = có n dấu căn. 
192. Tính S(n) = có n dấu căn. 
193. Tính S(n) = có n dấu căn. 
7.3.2. Thao tác trên 1 số nguyên 
194. Đếm số lượng chữ số của số nguyên dương n. 
22...222 
12...21  nnn
nn  1...321
Lập trình C (Phần nâng cao) – Phần bài tập 
70 
195. Tính tổng các chữ số của số nguyên dương n. 
196. Tính tích các chữ số của số nguyên dương n. 
197. Đếm số lượng chữ số lẻ của số nguyên dương n. 
198. Tính tổng các chữ số chẵn của số nguyên dương n. 
199. Tính tích các chữ số lẻ của số nguyên dương n. 
200. Cho số nguyên dương n. Tìm chữ số đầu tiên của n. 
201. Tìm chữ số đảo ngược của số nguyên dương n. 
202. Tìm chữ số lớn nhất của số nguyên dương n. 
203. Tìm chữ số nhỏ nhất của số nguyên dương n. 
204. Kiểm tra số nguyên dương n có toàn chữ số lẻ hay không? 
205. Tìm ước số lẻ lớn nhất của số nguyên dương n. Ví dụ n=100 ước lẻ lớn nhất của 100 là 25. 
206. Kiểm tra số nguyên dương n có toàn chữ số chẵn hay không? 
7.3.3. Ước số chung lớn nhất 
207. Tìm ước số chung lớn nhất của hai số nguyên dương a và b. 
7.3.4. Mảng một chiều 
208. Tính tổng tất cả các phần tử trong mảng 
209. Tính tổng các số lẻ có trong mảng. 
 Mở rộng: cho trường hợp: số nguyên tố, số chính phương,  
210. Tìm giá trị là số lẻ cuối cùng có trong mảng. Nếu không có số lẻ trả về -1. 
 Mở rộng: cho trường hợp giá trị cuối cùng là số nguyên tố, giá trị cuối cùng là số chính phương, 
211. Tìm vị trí chứa số lẻ cuối cùng có trong mảng. Nếu không có số lẻ trả về -1. 
 Mở rộng: cho trường hợp: vị trí cuối cùng chứa số nguyên tố, vị trí cuối cùng số chính phương, 
212. Kiểm tra xem mảng có được sắp xếp tăng dần hay không? 
213. Kiểm tra xem mảng có chứa số nguyên tố hay không? 
7.3.5. Mảng hai chiều 
214. Tính tổng tất cả các phần tử trong mảng 2 chiều. 
215. Tính tổng các số lẻ có trong mảng 2 chiều. 
 Mở rộng: cho trường hợp: số nguyên tố, số chính phương,  
216. Tìm giá trị là số lẻ cuối cùng có trong mảng 2 chiều. Nếu không có số lẻ trả về -1. 
 Mở rộng: cho trường hợp giá trị cuối cùng là số nguyên tố, giá trị cuối cùng là số chính phương, 
217. Tìm vị trí chứa số lẻ cuối cùng có trong mảng 2 chiều. Nếu không có số lẻ trả về -1. 
 Mở rộng: cho trường hợp: vị trí cuối cùng chứa số nguyên tố, vị trí cuối cùng số chính phương, 
218. Cho ma trận A (nXm) chỉ chứa các giá trị 0 và -1. Giả sử có định nghĩa về “thành phần liên thông” 
như sau: một nhóm các ô liên tục (chỉ tính 4 phía trên, dưới, trái, phải) cùng chứa giá trị -1 được 
xem là 1 “thành phần liên thông”. Viết hàm đềm số “thành phần liên thông” có trong ma trận. 
Ví dụ: 
Lập trình C (Phần nâng cao) – Phần bài tập 
71 
0 -1 -1 0 0 0 -1 0 0 -1 0 
0 -1 -1 0 0 0 0 0 -1 -1 -1 
0 -1 0 0 0 0 0 0 0 -1 0 
0 -1 -1 0 0 0 -1 0 0 0 0 
0 0 0 0 0 0 -1 -1 0 0 0 
0 -1 0 -1 -1 -1 -1 0 -1 0 0 
0 -1 0 0 0 0 -1 0 0 0 0 
Có 4 thành phần liên thông Có 3 TPLT 
7.3.6. Một số bai toán đệ quy thông dụng 
219. Bài toán tháp Hà Nội: Có 3 chồng đĩa đánh số 1, 2 và 3. đầu tiên chồng 1 có n đĩa được xếp sao 
cho đĩa lớn hơn nằm bên dưới và 2 chồng còn lại không có đĩa nào. Yêu cầu: chuyển tất cả các 
đĩa từ chồng 1 sang chồng 3, mổi lần chuyển 1 đĩa và được phép sữ dụng chồng 2 làm trung gian. 
Hơn nữa trong quá trình chuyển đĩa phải bảo đảm quy tắc đĩa lớn nằm bên dưới. 
220. Bài toán phát sinh hoán vị: Cho tập hợp A có n phần tử được đánh số 1,2,,n. Một hoán vị của 
A là một dãy a1, a2, , an. Trong đó ai A và chúng đôi một khác nhau. Hãy viết hàm phát sinh 
tất cả các hoán vị của tập hợp A. 
221. Bài toán Tám Hậu: Cho bàn cờ vua kích thước (8x8). Hãy sắp 8 quân hậu vào bàn cờ sao cho 
không có bất ỳ 2 quân hậu nào có thể ăn nhau. 
222. Bài toán Mã Đi Tuần: Cho bàn cờ vua kích thước (8x8). Hãy di chuyển quân mã trên khắp bàn 
cờ sao cho mỗi ô đi đúng 1 lần. 
7.4. STRUCT (Cấu trúc) 
223. Viết chương trình tính khoảng cách giữa 2 ngày. 
Ví dụ: ngay1= 15/11/2007 
ngay2= 11/9/2009 
in ra ngay 15/11/2007 va ngay 11/8/2009 cach nhau 26 ngay 9 thang va 1 nam 
224. Viết chương trình sử dụng con trỏ cấu trúc để hiển thị giờ, phút, giây ra màn hình, và tính khoảng 
cách giữa 2 mốc thời gian (quy ra thời gian chênh lệch tính theo giây). 
225. Viết chương trình khai báo kiểu dữ liệu thể hiện một số phức. Sử dụng kiểu này để viết hàm tính 
tổng, hiệu, tích của hai số phức. 
226. Viết chương trình khai báo kiểu dữ liệu để biểu diễn một phân số. Hãy viết hàm thực hiện những 
công việc sau: 
- Tính tổng, hiệu, tích, thương hai phân số. 
- Rút gọn phân số. 
- Quy đồng hai phân số. 
- So sánh hai phân số. 
227. Viết chương trình khai báo kiểu dữ liệu để biểu diễn một hỗn số. Hãy viết hàm thực hiện những 
công việc sau: 
- Đổi hỗn số sang phân số 
- Tính tổng, tích hai hỗn số 
228. Viết chương trình tạo một mảng các phân số. Hãy viết hàm thực hiện các công việc sau: 
- Tính tổng tất cả các phân số (kết quả dưới dạng phân số tối giản) 
- Tìm phân số lớn nhất, phân số nhỏ nhất. 
- Sắp xếp mảng tăng dần. 

Lập trình C (Phần nâng cao) – Phần bài tập 
72 
229. Tổ chức dữ liệu để quản lý sinh viên bằng cấu trúc mẫu tin trong một mảng N phần tử, mỗi phần 
tử có cấu trúc như sau: 
- Mã sinh viên. - Năm sinh. 
- Tên. - Điểm toán, lý, hoá, điểm trung bình. 
Viết chương trình thực hiện những công việc sau: 
- Nhập danh sách các sinh viên cho một lớp học. 
- Xuất danh sách sinh viên ra màn hình. 
- Tìm sinh viên có điểm trung bình cao nhất. 
- Sắp xếp danh sách lớp theo thứ tự tăng dần của điểm trung bình. 
- Sắp xếp danh sách lớp theo thứ tự giảm dần của điểm toán. 
- Tìm kiếm và in ra các sinh viên có điểm trung bình lớn hơn 5 và không có môn nào dưới 
3. 
- Tìm sinh viên có tuổi lớn nhất. 
- Nhập vào tên của một sinh viên. Tìm và in ra các thông tin liên quan đến sinh viên đó (nếu 
có). 
230. Tổ chức dữ liệu quản lý danh mục các bộ phim VIDEO, các thông tin liên quan đến bộ phim này 
như sau: 
- Tên phim (tựa phim). - Tên diễn viên nữ chính. 
- Thể loại (3 loại : hình sự, tình cảm, hài). - Năm sản xuất. 
- Tên đạo diễn. - Hãng sản xuất 
- Tên điễn viên nam chính. 
Viết chương trình thực hiện những công việc sau: 
- Nhập vào bộ phim mới cùng với các thông tin liên quan đến bộ phim này. 
- Nhập một thể loại: In ra danh sách các bộ phim thuộc thể loại này. 
- Nhập một tên nam diễn viên. In ra các bộ phim có diễn viên này đóng. 
- Nhập tên đạo diễn. In ra danh sách các bộ phim do đạo diễn này dàn dựng. 
231. Một thư viện cần quản lý thông tin về các đầu sách. Mỗi đầu sách bao gồm các thông tin sau: 
MaSach (mã số sách), TenSach (tên sách), TacGia (tác giả), SL (số lượng các cuốn sách của đầu 
sách). Viết chương trình thực hiện các chức năng sau: 
- Nhập vào một danh sách các đầu sách (tối đa là 100 đầu sách) 
- Nhập vào tên của quyển sách. In ra thông tin đầy đủ về các sách có tên đó, nếu không có 
thì tên của quyển sách đó thì báo là :Không Tìm Thấy. 
- Tính tổng số sách có trong thư viện. 
232. Viết chương trình tạo một mảng danh sách các máy tính của một cửa hàng, thông tin của một máy 
tính bao gồm: 
- Loại máy - Nơi sản xuất - Thời gian bảo hành 
- Viết hàm nhập một dãy các loại máy tính có thông tin như trên. 
- Hãy viết hàm thống kê xem có bao nhiêu máy có thời gian bảo hành là 1 năm. 
- In ra danh sách các máy tính có xuất xứ từ Mỹ. 
233. Để lắp ráp một máy vi tính hoàn chỉnh cần phải có tối thiểu 10 linh kiện loại A và có thể lắp bổ 
sung thêm vào khoảng tối đa 8 linh kiện loại B. Tại một cửa hàng vi tính cần quản lý bán hàng 
các loại linh kiện tại cửa hàng. Thông tin về một loại linh kiện gồm có: Tên linh kiện, quy cách, 
Lập trình C (Phần nâng cao) – Phần bài tập 
73 
loại, đơn giá loại 1 (chất lượng tốt – số nguyên), đơn giá loại 2 (chất lượng thường – số nguyên). 
Viết chương trình thực hiện những công việc sau: 
- Nhập vào thông tin về các linh kiện có ở cửa hàng. 
- Xuất danh sách các linh kiện đã nhập theo thứ tự tăng dần của loại linh kiện và tên linh 
kiện. 
- Cho biết đã có đủ 10 linh kiện loại A cần thiết lắp ráp máy hay chưa? 
234. Một cửa hàng cần quản lý các mặt hàng, thông tin một mặt hàng bao gồm: 
- Mã hàng. - Số lượng. - Số lượng tồn. 
- Tên mặt hàng. - Đơn giá. - Thời gian bảo hành (tính theo tháng). 
- Hãy nhập vào một danh sách các mặt hàng. 
- Tìm mặt hàng có số lượng tồn nhiều nhất. 
- Tìm mặt hàng có số lượng tồn ít nhất. 
- Tìm mặt hàng có giá tiền cao nhất. 
- In ra những mặt hàng có thời gian bảo hành lớn hơn 12 tháng. 
- Sắp xếp các mặt hàng theo thứ tự tăng dần của số lượng tồn. 
235. Viết chương trình quản lý hồ sơ nhân viên trong một công ty, chương trình thực hiện những công 
việc sau: 
- Họ và tên. - Ngày sinh. - Lương cơ bản. - Thưởng. 
- Phái. - Địa chỉ. - Bảo hiểm xã hội. - Phạt. 
- Lương thực lĩnh = lương cơ bản + thưởng – BH xã hội – phạt. 
- Nhập vào hồ sơ của các nhân viên trong công ty. 
- Xuất danh sách các nhân viên theo lương thực lĩnh giảm dần bằng 2 cách sau: 
 Cấp phát vùng nhớ tĩnh. 
 Cấp phát vùng nhớ động. 
7.5. FILE (Tập tin) 
236. Viết chương trình tạo mới 1 file chứa dữ liệu của một ma trận 10 x10 với các phần tử của ma trận 
là số nguyên (0-100) được tạo ngẫu nhiên. Sau khi đóng file vừa tạo, mở lại file, đọc và in ma 
trận ra màn hình. 
237. Lập chương trình tạo một tập tin chứa các số nguyên có giá trị ngẫu nhiên. Sắp xếp chúng theo 
thứ tự tăng dần và lưu trữ sang tập tin khác. 
238. Viết chương trình gồm 2 hàm sau: 
- Hàm TaoFile: 
 Nhận tham số là số dòng, số cột cần có của 1 ma trận. 
 File cần tạo có tên MaTran.txt. Cấu trúc của file có dạng như sau: 
 Dòng 1: chứa số dòng của ma trận 
 Dòng 2: chứa số cột của ma trận 
 Dòng 3 đến dòng cuối: mỗi dòng chứa giá trị các phần tử có trên từng dòng của ma trận. 
Biết rằng giá trị các phần tử này được phát sinh ngẫu nhiên và có giá trị trong khoảng 
từ 1-100. 
- Hàm XoaDong: 
Lập trình C (Phần nâng cao) – Phần bài tập 
74 
 Nhận tham số là số dòng (row) cần xóa. 
 Thực hiện đọc file MaTran.txt. Tiến hành xóa dòng row. Lưu kết quả lại vào file 
MaTran.txt. 
239. Viết chương trình đọc và hiện một tập tin văn bản. Sau đó trình bày những thống kê sau: số ký 
tự, số từ, số dòng của nó. 
240. Viết chương trình tạo ra một tập văn bản chứa tên, tuổi, địa chỉ (mỗi thông tin chiếm một dòng). 
Sau đó chương trình sẽ đọc lại tập tin này và chép sang một tập tin khác nhưng trên một dòng cho 
mỗi người. 
241. Viết chương trình mã hóa một file bằng phép XOR. 
242. Viết chương trình tính số lần xuất hiện ký tự chữ cái trong một tập tin văn bản DOS. 
243. Viết chương trình tính số từ có trong một tập tin văn bản DOS. 
244. Viết chương trình nối hai tập tin văn bản lại với nhau thành một tập tin mới. 
245. Viết chương trình lưu lại nội dung của màn hình vào tập tin SCREEN.DAT (tương tự lệnh COPY 
CON của DOS). 
246. Viết chương trình hiện chương trình được lưu trong SCREEN.DAT (tương tự lệnh TYPE của 
DOS). 
247. Tương tự bài trên nhưng những dòng trống sẽ được bỏ qua. 
248. Tương tự như bài trên, nhưng cho phép người xem cuộn lên, cuộn xuống màn hình. 
249. Viết chương trình in ra các giá trị bit của một mảng các giá trị nguyên dương gồm 23 phần tử. 
Những vị trí tương ứng với giá trị bit bằng 1 sẽ in dấu*, bit bằng 0 sẽ in dấu -. 
250. Viết thủ tục tìm và thay thế một chuỗi con bằng một chuỗi khác. 
251. Bài toán ANCA. Viết chương trình tìm những hình chữ nhật có chiều dài gấp đôi chiều rộng và 
diện tích=chu vi. 
252. Viết chương trình tạo tập tin văn bản chứa 1 dãy số nguyên bất kỳ. 
253. Viết chương trình tạo tập tin nhị phân chứa 10000 số nguyên bất kỳ ghi vào file 
SONGUYEN.INP. Mỗi dòng 10 số, sau đó viết chương trình đọc file SONGUYEN.INP, sắp xếp 
theo thứ tự tăng dần và lưu kết quả vào file SONGUYEN.OUT. 
254. Viết chương trình tạo một file chứa 10000 số nguyên ngẫu nhiên đôi một khác nhau trong phạm 
vi từ 1 đến 32767 và đặt tên là “SONGUYEN.INP”. 
255. Viết chương trình tạo một file chứa các số nguyên có tên SONGUYEN.INP. Sau đó đọc file 
SONGUYEN.INP và ghi các số chẵn vào file SOCHAN.OUT và những số lẻ vào file SOLE.OUT. 
256. Viết chương trình ghi vào tập tin SOCHAN.DAT các số nguyên chẵn từ 0 đến 100. 
257. Viết chương trình đọc tập tin SOCHAN.DAT và xuất ra màn hình. 
258. Viết chương trình tạo file văn bản có tên là “MATRIX.INP” có cấu trúc như sau: 
- Dòng đầu ghi hai số m, n. 
- Trong m dòng tiếp theo mỗi dòng ghi n số và các số các nhau một khoảng cách. 
Hãy kiểm tra xem trong file đó có bao nhiêu số nguyên tố. 
Kết quả cần ghi vào file “MATRIX.OUT” có nội dung là một số nguyên đó là số lượng 
các số nguyên tố trong file “MATRIX.INP”. 
259. Cho mảng các số nguyên, hãy sắp xếp mảng theo thứ tự tăng dần. 
- Dữ liệu vào : tập tin văn bản ARRAY.INP gồm 2 dòng 
 Dòng 1 chứa số nguyên n ( n < = 100 ). 
 Dòng 2 chứa n số nguyên. 
Lập trình C (Phần nâng cao) – Phần bài tập 
75 
- Kết quả : Đưa ra tập tin văn bản ARRAY.OUT gồm hai dòng 
 Dòng 1 chứa n phần tử của mảng các số nguyên. 
 Dòng 2 chứa n số nguyên được xếp tăng dần. 
260. Cho mảng các số nguyên, tìm phần tử lớn nhất của mảng. 
- Dữ liệu vào: tập tin văn bản ARRAY.INP gồm hai dòng: 
 Dòng 1 chứa số nguyên n ( n < = 100 ). 
 Dòng 2 chứa n số nguyên. 
- Kết quả: Đưa ra tập tin văn bản ARRAY.OUT gồm 1 dòng ghi 2 giá trị x, y trong đó x là giá 
trị lớn nhất, y là vị trí của x trong mảng. 
TÀI LIỆU THAM KHẢO 
[1]. Hoàng Kiếm – Gỉai một bài toán trên máy tinh như thế nào – Tập 1 & Tập 2- Nhà Xuất Bản Giáo 
Dục -2001 
[2]. Dương Anh Đức – Trần Hạnh Nhi – Giáo trình cấu trúc dữ liệu - Trường Đại Học Khoa Học Tự 
Nhiên Tp.Hồ Chí Minh – 2003 
[3]. Trần Đan Thư – Giáo trình lập trình C – Tập 1& Tập 2 – Nhà Xuất Bản Đại Học Quốc Gia – 2001 
[4]. Lê Hoài Bắc – Lê Hoàng Thái – Nguyễn Tấn Trần Minh Khang – Nguyễn Phương Thảo – Giáo 
trình lập trình C – Nhà Xuất Bản Đại Học Quốc Gia Tp Hồ Chí Minh – 2003 
[5]. Nguyễn Thanh Hùng – Các bài tập tin học chọn lọc – Nhà Xuât Bản Giáo Dục – 1996. 
[6]. Nguyễn Tiến Huy – Bài giảng Kỹ thuật lập trình – 2003. 
[7]. Nguyễn Tấn Trần Minh Khang – Bài giảng Kỹ thuật lập trình – 2003 
[8]. Bùi Việt Hà – Lập Trình Pascal – Nhà Xuất Bản Giáo Dục – 2001 
[9]. Phạm Văn Ất – Kỹ thuật lập trình C cơ sở và nâng cao – Nhà Xuất Bản Khoa Học Và Kỹ Thuật – 
1996. 
[10]. Giáo Trình Kỹ Thuật Lập Trình C - Nguyễn Linh Giang (Chủ biên), Lê Văn Thái, Kiều Xuân 
Thực – NXB Giáo dục 
[11]. Giáo Trình Ngôn Ngữ Lập Trình C - ThS.Tiêu Kim Cương– NXB Giáo dục. 
[12]. Giáo Trình Kỹ Thuật Lập Trình C - Căn Bản & Nâng Cao - GS. Phạm Văn Ất (Chủ biên), ThS. 
Nguyễn Hiếu Cường, ThS. Đỗ Văn Tuấn, Lê Trường Thông - NXB Hồng Đức. 

File đính kèm:

  • pdfgiao_trinh_lap_trinh_c_le_van_hanh_phan_nang_cao.pdf