homework - c programming language

12
LSGroup (tinhocbk123.blogspot.com) 152 1 CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C Chú thích, định danh, từ khóa, hằng Các thành phần cơ bản trong chương trình C Kiểu dữ liệu: char, int, long, float, double, sizeof Lệnh nhập, xuất, chuỗi định dạng Ép kiểu Bài 1.1 Chra những định danh nào là đúng, định danh nào là sai dưới đây? 1 2 3 4 5 identifier; serven_11; _unique; gross-income; gross$income; 6 7 8 9 10 2by2; default; average_weight_of_a_large_pizza; variable; object.oriented; Bài 1.2 Viết chương tr ình in ra dòng sau: Ngon ngu lap trinh C phan biet chu hoa, chu thuong Moi chuong trinh luon co mot va chi mot ham main. Ham main se la noi thuc hien dau tien cua chuong trinh Moi khi co mot dau mo ngoac thi phai co mot dau dong ngoac tuong ung Tat ca cac cau lenh deu ket thuc bang dau cham phay Bài 1.3 Cho đoạn chương tr ình sau: 1 2 3 4 5 6 7 8 9 10 11 12 #include<stdio.h> #include<stdlib.h> #define MAX 25 int main() { int sum; sum = (MAX - 4) /4; printf("Sum = %d", sum); printf("\n"); system("pause"); return 0; } Thc hin lần lượt các yêu cu sau, và ghi li kết quả chương trình Bcâu lnh s9 Bcâu lnh s10 Bdu mngoc dòng 5 Bdấu đóng ngoặc dòng 12 Bdu > dòng 1 Bdlib dòng 2 Sa chsum -> SUM Bdấu nháy đôi “ sau %d dòng s8

Upload: linh-le

Post on 27-May-2015

1.768 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Homework - C programming language

LSGroup (tinhocbk123.blogspot.com)

152

1 CÁC THÀNH PHẦN CƠ BẢN CỦANGÔN NGỮ LẬP TRÌNH C

Chú thích, định danh, từ khóa, hằng

Các thành phần cơ bản trong chương trình C

Kiểu dữ liệu: char, int, long, float, double, sizeof

Lệnh nhập, xuất, chuỗi định dạng

Ép kiểuBài 1.1Chỉ ra những định danh nào là đúng, định danh nào là sai dưới đây?12345

identifier;serven_11;_unique;gross-income;gross$income;

678910

2by2;default;average_weight_of_a_large_pizza;variable;object.oriented;Bài 1.2

Viết chương trình in ra dòng sau:Ngon ngu lap trinh C phan biet chu hoa, chu thuongMoi chuong trinh luon co mot va chi mot ham main.Ham main se la noi thuc hien dau tien cua chuong trinhMoi khi co mot dau mo ngoac thi phai co mot dau dong ngoac tuong ungTat ca cac cau lenh deu ket thuc bang dau cham phayBài 1.3Cho đoạn chương trình sau:123456789101112

#include<stdio.h>#include<stdlib.h>#define MAX 25int main(){

int sum;sum = (MAX - 4) /4;printf("Sum = %d", sum);printf("\n");system("pause");return 0;

}Thực hiện lần lượt các yêu cầu sau, và ghi lại kết quả chương trình Bỏ câu lệnh số 9 Bỏ câu lệnh số 10 Bỏ dấu mở ngoặc dòng 5 Bỏ dấu đóng ngoặc dòng 12

Bỏ dấu > dòng 1 Bỏ dữ lib dòng 2 Sửa chữ sum -> SUM Bỏ dấu nháy đôi “ sau %d dòng số 8

Page 2: Homework - C programming language

Ngôn ngữ lập trình C

153

Bỏ dấu ; dòng 6 Bỏ dấu , sau %d” dòng thứ 8Bài 1.4Nhập từ bàn phím 1 số nguyên x, 1 số thực y, sau đó in ra màn hình theo qui cách sau: Dòng 1: in ra số nguyên canh lề phải với 5 khoảng trống Dòng 2: in ra số nguyên canh lề trái với 5 khoảng trống Dòng 3: in ra số nguyên canh phải với 3 khoảng trống Dòng 4: in số thực làm tròn 2 số thập phân Dòng 5: in số thực với 6 khoảng trống, canh lề phải, làm tròn 3 chữ số thập phân Dòng 6: in số thực 6 khoảng trống, canh lề trái, làm tròn 2 chữ số thập phânBài 1.5Biết nhiệt độ C và F có công thức liên hệ sau: C = (F-32). Viết chương trình cho phép

nhập vào độ C và hiển thị lên độ F tương ứng.Bài 1.6Nhập vào số thực x, tính và in ra các giá trị y1, y2 lấy 2 số lẻ:= 4( + 10 √ + 3 + 1) = sin( ) + √ + 1+ cos(4 )Bài 1.7Viết chương trình nhập vào một kí tự, hiển thị mã ASCII của kí tự đó.Bài 1.8Viết chương trình nhập vào năm sinh của một người, tính tuổi của người đó.

2 KIỂU DỮ LIỆU – DATA TYPES Số học: +, -, *, /, %

So sánh: >, >=, <, <=, ==, !=

Luận lý: &&, ||, !

Thao tác bit: &, | !

Toán tử gán: +=, -=, *=, /=

Toán tử tăng (++), giảm (--)

Độ ưu tiên toán tửBài 2.1Cho số giây, viết chương trình in giờ phút giây. Ví dụ cho 1000 giây thì:

1000 giay = 0 gio 16 phut 40 giay

Page 3: Homework - C programming language

LSGroup (tinhocbk123.blogspot.com)

154

Bài 2.2Nhập số tiền nguyên n đồng. Đổi ra xem được bao nhiêu tờ 10 đồng, 5 đồng, 2 đồng, 1đồng. Ví dụ: 543 đồng = 54 tờ 10đ + 0 tờ 5đ, 1 tờ 2đ, 1 tờ 1đBài 2.3Nhập vào số nguyên có 3 chữ số. Tính tổng các chữ số. Số lớn nhất là bao nhiêu? Ở vịhàng nào (đơn vị, hàng chục, hoặc hàng trăm)Bài 2.4Nhập vào biển số xe có 5 chữ số. Tính điểm cho biển số xe đó.Bài 2.5Cho đoạn chương trình sau:Chương trình A Chương trình B Chương trình Cint a=9, b=6;a++;a=a+b--;a=a+(--b);

int a =7, b=8;a++;a = a + b--;--b;a--;a = --a + --b

int b=5, a;a=b++ + 5;a*=6;a=b%7;

3 LỰA CHỌN – SELECTION if, if-else, else-if, nested if

switch

while, do..while, for

break, continueBài 3.1Viết chương trình nhập vào một kí tự. Kiểm tra xem nếu kí tự nhập vào là kí tự thườngtrong khoảng từ 'a' đến 'z' thì đổi sang chữ in hoa và in ra “Kí tự in hoa là:...”, ngượclại in ra thông báo "Kí tự bạn vừa nhập là: ..."Bài 3.2Cho biểu thức sau:

P(x)=

⎩⎪⎪⎨⎪⎪⎧ 1 +1 − > 23 − lg(x) 1 < ≤ 25 cos(3 + 2) − ln( + 2) = 1

1 < 1

Page 4: Homework - C programming language

Ngôn ngữ lập trình C

155

Viết chương trình hàm tính P(x) Thử nghiệm với P(-5), P(1), P(2), P(10)Bài 3.3Viết chương trình nhập vào 2 số x, y và 1 trong 4 toán tử +, -, *, /. Nếu là + thì in ra kết quả x + y Nếu là – thì in ra x – y Nếu là * thì in ra x * y Nếu là / thì in ra x / y (nếu y = 0 thì thông báo không chia được)Bài 3.4Viết chương trình khi người dùng nhập vào kí tự: R hoặc r thì in ra câu: Bạn chọn màu đỏ G hoặc g thì in ra câu: Bạn chọn màu xanh W hoặc w thì in ra câu: Bạn chọn màu trắng B hoặc b thì in ra câu: Bạn chọn màu đenBài 3.5Viết chương trình nhập vào số tiền phải trả của khách hàng. In ra số tiền khuyến mãivới quy định: nếu số tiền phải trả thuộc [200.000, 300.000) thì khuyến mãi 20%. Nếusố tiền phải trả từ 300.000 trở lên thì khuyến mãi 30%. Còn lại thì không khuyến mãiBài 3.6Viết chương trình nhập vào điểm tổng kết của một học sinh và in ra xếp loại cho họcsinh đó với quy định: Xếp loại giỏi nếu tổng điềm từ 8.00 trở lên. Xếp loại khá nếu tổng điểm từ 7.00 tới cận 8.00. Xếp loại trung bình nếu tổng điểm từ 5.00 tới cận 7.00. Còn lại, xếp loại yếu.Bài 3.7Nhập độ dài 3 cạnh 1 tam giác (a, b, c). Cho biết 3 cạnh đó có lập thành 1 tam giác haykhông. Nếu có, cho biết là tam giác loại gì? (thường, cân, vuông, vuông cân, đều)Hướng dẫn: Điều kiện để 3 cạnh a, b, c thành lập tam giác là tổng của 2 cạnh lớn hơn cạnh còn

lại Tam giác đều có 3 cạnh bằng nhau Tam giác cân có 2 cạnh bằng nhau Tam giác vuông: có tổng bình phương của hai cạnh bằng bình phương của cạnh

còn lạiBài 3.8Viết chương trình giải phương trình bậc 1, 2

Page 5: Homework - C programming language

LSGroup (tinhocbk123.blogspot.com)

156

(n là số nguyên dươngnhập từ bàn phím)

Bài 3.9Cho biết năm nhuận là năm chia hết cho 4 mà không chia hết cho 100 hoặc chia hếtcho 400. Viết chương trình nhập vào tháng, năm. Cho biết tháng đó có bao nhiêungày.Bài 3.10Công thức tính thứ i trong tuần cho ngày d tháng m năm y như sau:i = (d + 2*m +3*(m+1)/5 + y + y/4 – y/100 + y/400)%7Thứ trong tuần được tính từ 0 đến 6 (0 là thứ 2, 1 là thứ 3, …, 6 là Chủ nhật). Tháng 1và Tháng 2 được tính là Tháng 13 và Tháng 14 năm trước. Viết chương trình nhập d,m, y và in ra màn hình thứ mấy.Bài 3.11Cho thời điểm hiện tại (giờ, phút, giây). Tính thời điểm trước đó 1 giây Tính thời điểm sau đó 1 giây Tính thời điểm sau n giây Tinh thời điểm trước n giây

4 VÒNG LẶP - LOOPBài 4.1 S1= 12 + 32 + 52... + (2n-1)2

S2= 22 + 42 + 62... + 2n2Bài 4.2Viết chương trình tính Sn: S1 = 1 + 2 + 3 + … + n S2= + + + +⋯+ S3= + !+ !+⋯+ ! S4= − !+ !−⋯(−1 ) ∗ !với n≥ 1 được nhập từ bàn phímBài 4.3 ≈ 1 − + −⋯+ (−1) dừng khi (−1) < ε với ε đủ bé

≈ 1 + + ! + ! +⋯+ ! dừng khi ! < ε với ε đủ bé cho trước

≈ − ! + ! +⋯+ (−1) ( )! dừng khi (−1) ( )! < ε với ε đủ bé

≈ 1 − ! + ! +⋯+ (−1) ( )! dừng khi (−1) ( )! < ε với ε đủ bé

Page 6: Homework - C programming language

Ngôn ngữ lập trình C

157

Bài 4.4Viết chương trình tính chiều dài và chiều rộng của hình chữ nhật có chiều dài gấp đôichiều rộng và có diện tích bằng chu vi.Bài 4.5Viết chương trình nhập vào năm hiện tại, năm sinh. In ra tuổi. Dùng do ... while để hỏingười dùng có muốn tiếp tục hay ko? (Y/N). Tiếp tục thì bấm phím y hoặc Y.Bài 4.6Dãy Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng hai phần tử 0 và 1, các phầntử sau đó được thiết lập theo quy tắc mỗi phần tử luôn bằng tổng hai phần tử trước nó:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,… Viết chương trình tìm số fibonacci nhỏ hơn n.Bài 4.7Viết chương trình in ra các hình sau:

5 HÀM - FUNCTION Hàm

Kỹ thuật đệ qui (Recursion)Bài 5.1Nhập 1 số n >0. Tính n!! biết rằng:

n!!== 1 * 3 * 5 * … * n nếu n lẻ

2 * 4 * 6 * … * n nếu n chẵnBài 5.2 Viết hàm nhận 3 số nguyên dương (a, b, c > 0), kiểm tra và trả về các giá trị như

sau:0: thường, 1: vuông, 2: cân, 3: vuông cân, 4: đều, -1 không phải là

Viết chương trình nhập 3 cạnh (x, y, z>0). Sử dụng hàm trên để kết luận loại tamgiácBài 5.3

Viết chương trình nhập vào số ≥ 0. Cho biết: Số chữ số của n, Ví dụ: 21432 trả về: 5 vì có 5 chữ số. Tìm số đảo của n (Số đảo của số 2564 là số 4652). Số n có phải là số đối xứng (Palindrome) hay không ? (Số 121, 1331 là số đối

xứng)

Page 7: Homework - C programming language

LSGroup (tinhocbk123.blogspot.com)

158

Số n có phải là số hoàn hảo (Perfect) hay không? (Số hoàn hảo là các số nguyêndương bằng tổng tất cả các ước thật sự của nó 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 +14).Bài 5.4

Viết chương trình in ra các số chính phương trong khoảng từ 100 đến 500. Cho biết cóbao nhiêu số chính phương trong khoảng này.Bài 5.5Viết chương trình nhập số 2 số a, b thỏa điều kiện 0 ≤ ≤ . Có bao nhiêu số nguyên tố thuộc [a, b]. In ra các số nguyên tố trong khoảng này.Bài 5.6Ước số chung lớn nhất (USCLN) được định nghĩa như sau

Viết hàm tìm USCLN của 2 số nguyên dương a, bBài 5.7Một khách hàng gửi 1.000.000$ vào một tài khoản tiết kiệm tại ngân hàng với lãi suấtmột năm là 11%. Sau 10 năm, tài khoản đó trở thành bao nhiêu?Bài 5.8Giả sử một loại vi trùng sẽ phát triển gấp 3 sau mỗi giờ. Lập công thức đệ qui cho sốvi trùng sau n giờ. Nếu 100 con vi trùng ban đầu, thì sau 10 giờ, chúng sẽ phát triểnthành bao nhiêu.

6 MẢNG – ARRAYS Nhập, xuất mảng

Tìm kiếm, đếm, hoán đổi vị trí

Thay thế, chèn, xóa

Tách, gộp mảng

Ma trận chuyển vị

Đường chéo chính, đường chéo phụBài 6.1Viết chương trình nhập n (5≤n≤20), thực hiện các việc sau: Nhập mảng A gồm n phần tử. Liệt kê các số chẵn của mảng A. Đếm có bao nhiêu phần tử âm và tính tổng các phần tử âm, và giá trị trung binh các

phần tử trong mảng A.

Page 8: Homework - C programming language

Ngôn ngữ lập trình C

159

Tính và in ra màn hình tổng và trung bình cộng của tất cả các số dương trong đoạn[5;50] trong mảng A.

Tính và in ra màn hình tổng và trung bình cộng của tất cả các số có giá trị tuyệt đốilớn hơn 20 trong mảng.

In ra màn hình giá trị của trung vị của N số. Trung vị là phần tử có một nửa dãy nhỏhơn nó và một nửa dãy lớn hơn nó. Nếu không có phần tử nào trong dãy thỏa mãntính chất trên thì trung vị bằng trung bình cộng 2 số giữa dãy.Bài 6.2

Nhập ngẫu nhiên mảng A gồm n (10≤n≤20) phần tử các giá trị trong (100, 500) Hiển thị giá trị của các phần tử trong mảng. Tìm giá trị nhỏ nhất và cho biết có bao nhiêu số như thế. Tìm giá trị lớn nhất trong mảng và vị trí cuối cùng của giá trị lớn nhất. Nhập vào một số nguyên x, cho biết trong mảng có bao nhiêu số có giá trị bằng x Nhập một số x. Cho biết vị trí đầu tiên của số x có trong mảng. Nhập 2 số nguyên dương x và vt (0≤vt≤n). Chèn số x vào mảng A ở vị trí vt.Bài 6.3Nhập ngẫu nhiên mảng A gồm n (100≤n≤200) phần tử các số nguyên >0. In ra màn hình các giá trị phân biệt trong n số này và số lần xuất hiện của giá trị đó. Xóa các số trùng nhau trong mảng A. Tìm và in giá trị của phần tử Max, Min và vị trí của chúng trong mảng, sau đó đổi

chỗ 2 phần tử này cho nhau. In ra dãy sau khi đổi chỗ. Tạo mảng B từ A chỉ bao gồm các số nguyên tố. Thay thế các phần tử là số nguyên

tố của mảng A bằng số 0. Tạo mảng C từ A chỉ bao gồm các số chính phương. Thay các phần tử chính

phương của mảng A bằng số -1. Tạo mảng D gồm các phần tử của mảng B và C.

Bài 6.4Viết chương trình thực hiện: Nhập vào một ma trận m x n các số nguyên. Hiển thị ma trận vừa nhập A. Ma trận M có phải là ma trận thưa không? (Ma trận

thưa là ma trận có phần lớn các phần tử có giá trị 0). Tìm và hiển thị ma trận chuyển vị của ma trận M Tạo một ma trận có mx4 cột. Mỗi hàng chứa chỉ số cột của giá trị lớn nhất, giá trị

lớn nhất, chỉ số cột của giá trị nhỏ nhất và giá trị nhỏ nhất.Bài 6.5Viết chương trình thực hiện: Nhập ngẫu nhiên ma trận M(nxn) vuông kích thướt n (n>0 nhập từ bàn phím). Xuất

M Ma trận M có bao nhiêu số chẵn, bao nhiêu số lẻ.

Page 9: Homework - C programming language

LSGroup (tinhocbk123.blogspot.com)

160

Tạo mảng A gồm n phần tử chứa các giá trị trung bình của mỗi hàng. Xuất A Tạo mảng B gồm 6 phần tử sau: tổng các giá trị các phần tử thuộc đường chéo

chính và đường chéo phụ, các phần tử ở trên và dưới, trên đường chéo chính và phụ.Xuất B.Bài 6.6

Viết chương trình thực hiện: Nhập m,n, k >0. Nhập ngẫu nhiên ma trận M1(mxn) và M2(nxk). Xuất M1, M2 Tính và in ra ma trận M3 = M1xM2. Tạo ma trận M4(i,j) là ma trận có các phần tử nếu M1(i,j)= M2(j, j), bằng 1 nếu M1

khác Tạo mảng B gồm các phần tử có mặt ở ma trận M1 và M2. Tạo mảng C gồm các phần tử hợp của ma trận M1 hoặc M2.

7 XÂU KÍ TỰ - STRINGBài 7.1Viết chương trình nhập vào một chuỗi kí tự và thực hiện các việc sau: Cho biết trong chuỗi có bao nhiêu ký tự là nguyên âm, bao nhiêu ký tự là phụ âm,

bao nhiêu ký tự là chữ số, bao nhiêu ký tự loại khác Xóa kí tự (được nhập từ bàn phím) có trong chuỗi. Đổi những kí tự đầu tiên của mỗi từ thành chữ in hoa Thay thế các chữ cái đầu đoạn và đầu câu thành kí tự chữ hoa tưng ứng với nó.Bài 7.2Viết chương trình thực hiện các yêu cầu: Nhập vào một chuỗi văn bản không quá 70 ký tự. Xuất ra màn hình chuỗi đảo

ngược của chuỗi đó. Ví dụ đảo của “abcd egh” là “hge dcba”. Kiểm tra xem chuổi đó có đối xứng không. Ví dụ : Chuỗi ABCDEDCBA là chuỗi

đối xứng. Thay tất cả các kí tự ‘b’ trong chuỗi bằng kí tự ‘B’, in chuỗi sau khi thay thế Tìm số lần xuất hiện của ký tự ‘a‘ trong chuỗi. Chuẩn hóa chuỗi (xóa bỏ các kí tự trắng thừa, kí tự đầu đoạn và đầu câu phải viết

hoa), cho biết chuỗi có bao nhiêu từ.Bài 7.3Viết chương trình thực hiện các yêu cầu Nhập vào một chuỗi S không quá 100 ký tự, hiển thị chuỗi vừa nhập Cho biết trong chuỗi có bao nhiêu ký tự là nguyên âm, bao nhiêu ký tự là phụ âm

(theo bảng chữ cái latin), bao nhiêu ký tự là chữ số, bao nhiêu ký tự loại khác Thay thế các chữ cái thường ở vị trí đầu tiên và các chữ cái thường sau dấu chấm

và 1dấu cách bằng chữ cái in tương ứng của nó, in chuỗi mới ra màn hình

Page 10: Homework - C programming language

Ngôn ngữ lập trình C

161

Bài 7.4 Nhập vào một chuỗi là họ và tên của một người, xuất chuỗi đó ra màn hình dưới

dạng mỗi từ một dòng. Đưa chuỗi về dạng danh từ riêng (dạng chuẩn), cho biết chuỗi có bao nhiêu từ. Cắt chuỗi họ tên thành chuỗi họ lót và tên. Ví dụ: Nguyễn Văn A cắt thành chuỗi

họ lót là Nguyễn Văn, chuỗi tên là A.Sắp xếp danh sách tên theo thứ tự từ điển. Indanh sách họ và tên sau khi đã sắp xếp.

8 CẤU TRÚC - STRUCTURE Struct, union,..Bài 8.1

Điểm của sinh viên được quản lý như sau:Mã sinh viênTên sinh viên (xâu kí tự dài 20 kí tự)Điểm Toán, Điểm Lý, Điểm Hóa (kiểu nguyên)

Định nghĩa cấu trúc (struct) DiemSV để lưu trữ các thông tin về điểm thi đại họcsinh viên như mô tả trên.

Giả sử dữ liệu điểm sinh viên như sau:Mã SV Tên Toán Lý HóaSV01 Nam 6 7 9SV02 Lien 4 6 5SV03 Thuong 9 9 8SV04 Luc 3 2 7 Sử dụng mảng và struct để lưu các dữ liệu trên Hiển thị bảng điểm của sinh viên và điểm trung bình. Viết hàm cho phép thêm sinh viên và điểm. Hiển thị câu thông tin như sau:

Xếp loại học lực cho sinh viên theo qui định sau:Điểm trung bình Xếp loại<5 Yếu<7 Trung bình<8 Khá<9 GiỏiCòn lại Xuất sắc Sắp xếp danh sách sinh viên theo thứ tự giảm dần của điểm trung bình.

Sinh vien co ma xxx, ten la xxx

co diem trung binh xxx la cao nhat.

Page 11: Homework - C programming language

LSGroup (tinhocbk123.blogspot.com)

162

Bài 8.2Xây dựng chương trình quản lý dữ liệu và cấp biển số xe cho phép chọn thực hiện mộttrong các công việc: In danh sách biển số chưa được cấp bao gồm STT, Số chưa cấp . Nhập thông tin biển số đăng kí mới (Bien so dang ki, Ten chu xe, Nhan hieu). Biến

số gồm 8 kí tự: 4 kí tự đầu là 43S2, 4 kí tự sau từ 0000 đến 9999 In thông tin các biển số đã đăng kí. (STT, Bien so dang ki, Ten chu xe, Nhan hieu) Thoát.Bài 8.3Viết chương trình thực hiện các yêu cầu sau: Nhập danh sách n cán bộ (1<=n<=50, n nhập từ bàn phím), mỗi cán bộ gồm có các

thông tin: họ tên, ngày sinh (ngày, tháng, năm), giới tính, bậc lương. Hiển thị danhsách cán bộ lên màn hình

Hiển thị danh sách những cán bộ đã đ ến tuổi về hưu (nam là 60 tuổi, nữ là 55 tuổi) Tính và in ra màn hình tổng lương của tất cả các cán bộ Tìm người có lương cao nhất, in họ tên và lương của người này Nhập thông tin 1 cán bộ mới, chèn vào vị trí thứ 3 trong danh sách.Bài 8.4Thông tin của thuốc bao gồm: Tên thuốc (xâu không quá 30 ký tự), số lượng thuốc,năm hết hạn (kiểu nguyên), đơn giá, thành tiền (số lượng * đơn giá) (kiểu thực). Viếtchương trình thực hiện các công việc sau: Nhập thông tin cho danh sách các loại thuốc từ bàn phím, tính thành tiền cho từng

loại thuốc biết rằng kết thúc nhập khi gặp số lượng thuốc là 0 Đưa thông tin về các loại thuốc ra màn hình, yêu cầu thông tin về mỗi loại thuốc

trên một dòng. Đưa ra tên thuốc đã hết hạn. Biết rằng thuốc hết hạn là thuốc có năm hết hạn nhỏ

hơn năm hiện tại với năm hiện tại nhập từ bàn phím Loại ra khỏi danh sách thuốc trên những thuốc đã hết hạn

9 TẬP TIN - FILE Các loại tập tin: mở, đóng, ghi, đọc

Quản lý tập tin: tạo, xóaBài 9.1Thông tin sinh viên bao gồm: Mã sinh viên (4 kí tự), Tên, điểm Toán, Lý, Hóa Định nghĩa cấu trúc “sinhvien” để lưu thông tin của sinh viên. Đọc thông tin danh sách sinh viên được lưu trữ ở file dssinhvien.txt có nội dung

như sau: Hàng đầu tiên chỉ số lượng sinh viên được lưu trong danh sách Mỗi hàng tiếp theo lưu thông tin của một sinh viên

Page 12: Homework - C programming language

Ngôn ngữ lập trình C

163

Viết thủ tục thêm 1 sinh viên. Tính điểm trung bình cho sinh viên. Xếp loại học lực cho sinh viên dựa vào điểm

trung bình Xuất file ”hoclai.txt” gồm những sinh viên có điểm trung bình nhỏ hơn 5. Hiển thị danh sánh 5 sinh viên có điểm trung bình cao nhất sắp theo thứ tự giảm

dần của điểmBài 9.2Mộ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ã hang,tên mặt hàng, số lượng, đơn giá, số lượng tồn, thời gian bảo hành Hãy nhập vào danh sách các mặt hàng Tìm mặt hàng có số lượng tồn kho 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 In ra các mặt hàng có giảm giá.Bài 9.3Viết chương trình thực hiện các yêu cầu sau: Nhập danh sách n cán bộ (1<=n<=50, n nhập từ bàn phím), mỗi cán bộ gồm có các

thông tin: họ tên, ngày sinh (ngày, tháng, năm), giới tính, bậc lương. Hiển thị danh sách cán bộ lên màn hình Hiển thị danh sách những cán bộ đã đến tuổi về hưu (nam là 60 tuổi, nữ là 55 tuổi) Tính và in ra màn hình tổng lương của tất cả các cán bộ Tìm người có lương cao nhất, in họ tên và lương của người này Nhập thông tin 1 cán bộ mới, chèn vào vị trí thứ 3 trong danh sách.