LSGroup (tinhocbk123.blogspot.com)

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...
Ngôn ngữ lập trình C
 Bỏ dấu ; dòng 6

 Bỏ dấu , sau %d” dòng thứ 8

Bài 1.4

Nhập từ bàn phím 1 số nguyên x, 1 số thực ...
Bài 2.2

LSGroup (tinhocbk123.blogspot.com)

Nhập số tiền nguyên n đồng. Đổi ra xem được bao nhiêu tờ 10 đồng, 5 đồng, 2 đ...
Ngôn ngữ lập trình C
 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.3

Viết chương trìn...
Bài 3.9

LSGroup (tinhocbk123.blogspot.com)

Cho 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 ...
Bài 4.4

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

Viế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 đôi
chiều...
LSGroup (tinhocbk123.blogspot.com)
 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ên
dương ...
Ngôn ngữ lập trình C
 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...
LSGroup (tinhocbk123.blogspot.com)
 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ài 7.4

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

 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ừ...
Bài 8.2

LSGroup (tinhocbk123.blogspot.com)

Xâ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...
Ngôn ngữ lập trình C
 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...
Upcoming SlideShare
Loading in …5
×

Homework - C programming language

2,312 views

Published on

  • Be the first to comment

  • Be the first to like this

Homework - C programming language

  1. 1. LSGroup (tinhocbk123.blogspot.com) 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 Bài 1.1  Ép kiểu Chỉ ra những định danh nào là đúng, định danh nào là sai dưới đây? 1 identifier; 6 2by2; 2 serven_11; 7 default; 3 _unique; 8 average_weight_of_a_large_pizza; 4 gross-income; 9 variable; 5 gross$income; 10 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; } 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ỏ dấu > dòng 1  Bỏ câu lệnh số 10  Bỏ dữ lib dòng 2  Bỏ dấu mở ngoặc dòng 5  Sửa chữ sum -> SUM  Bỏ dấu đóng ngoặc dòng 12  Bỏ dấu nháy đôi “ sau %d dòng số 8 152
  2. 2. Ngôn ngữ lập trình C  Bỏ dấu ; dòng 6  Bỏ dấu , sau %d” dòng thứ 8 Bài 1.4 Nhậ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ân Bài 1.5 Biế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.6 Nhập vào số thực x, tính và in ra các giá trị y1, y2 lấy 2 số lẻ: sin( = = 4( + 10 √ + 3 + 1) Bài 1.7 Bài 1.8 )+√ + cos( 4 +1 ) Viết chương trình nhập vào một kí tự, hiển thị mã ASCII của kí tự đó. Viế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 (--) Bài 2.1  Độ ưu tiên toán tử Cho 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 153
  3. 3. Bài 2.2 LSGroup (tinhocbk123.blogspot.com) Nhậ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.3 Nhậ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.4 Bài 2.5 Nhập vào biển số xe có 5 chữ số. Tính điểm cho biển số xe đó. Cho đoạn chương trình sau: Chương trình A int a=9, b=6; a++; a=a+b--; a=a+(--b); Chương trình B int a =7, b=8; a++; a = a + b--; --b; a--; a = --a + --b Chương trình C 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 Bài 3.1  break, continue Viế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ường trong khoảng từ 'a' đến 'z' thì đổi sang chữ in hoa và in ra “Kí tự in hoa là:...”, ngược lại in ra thông báo "Kí tự bạn vừa nhập là: ..." Bài 3.2 Cho biểu thức sau: 1+ ⎧ 1− ⎪ ⎪ 3 − lg(x) P(x)= ⎨ 5 cos(3 + 2) − ln( + 2) ⎪ ⎪ 1 ⎩ 154 >2 1< =1 <1 ≤2
  4. 4. Ngôn ngữ lập trình C  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.3 Viế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.4 Viế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 đen Bài 3.5 Viế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ãi với quy định: nếu số tiền phải trả thuộc [200.000, 300.000) thì khuyến mãi 20%. Nếu số 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ãi Bài 3.6 Viế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ọc sinh đó 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.7 Nhậ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 hay khô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ại Bài 3.8 Viết chương trình gi ải phương trình b ậc 1, 2 155
  5. 5. Bài 3.9 LSGroup (tinhocbk123.blogspot.com) Cho 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ết cho 400. Viết chương trình nhập vào tháng, năm. Cho biết tháng đó có bao nhiêu ngày. Bài 3.10 Cô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)%7 Thứ 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 1 và 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.11 Cho 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 (n là số nguyên dương  Tính thời điểm sau n giây nhập từ bàn phím)  Tinh thời điểm trước n giây 4 VÒNG LẶP - LOOP Bài 4.1  S1= 12 + 32 + 52... + (2n-1)2  S2= 22 + 42 + 62... + 2n2 Bài 4.2 Viế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ím Bài 4.3    ≈ 1 − + − ⋯ + (−1) ≈1+ ≈ − ≈1−  156 + ! ! ! + + + ! ! ! + ⋯+ ! ! + ⋯ + (−1) + ⋯ + (−1) dừng khi (−1) ( ( )! )! ! < ε với ε đủ bé cho trước dừng khi (−1) dừng khi < ε với ε đủ bé dừng khi (−1) ( ( )! )! < ε với ε đủ bé < ε với ε đủ bé
  6. 6. Bài 4.4 Ngôn ngữ lập trình C Viế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 đôi chiều rộng và có diện tích bằng chu vi. Bài 4.5 Viế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ỏi ngườ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.6 Dã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ần tử 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.7 Viết chương trình in ra các hình sau: 5 HÀM - FUNCTION  Hàm Bài 5.1  Kỹ thuật đệ qui (Recursion) Nhập 1 số n >0. Tính n!! biết rằng: = 1*3*5*…*n n!! = 2*4*6*…*n Bài 5.2 nếu n lẻ nếu n chẵn  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 tam giác Bà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) 157
  7. 7. LSGroup (tinhocbk123.blogspot.com)  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ên dươ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.5 Viế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 Bài 5.7 Viết hàm tìm USCLN của 2 số nguyên dương a, b Mộ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ất một năm là 11%. Sau 10 năm, tài khoản đó trở thành bao nhiêu? Bài 5.8 Giả 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ển thà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ị Bài 6.1  Đường chéo chính, đường chéo phụ Viế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. 158
  8. 8. Ngôn ngữ lập trình C  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 đối lớ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ãn tí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.3 Nhậ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.4 Viế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.5 Viế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ẻ. 159
  9. 9. LSGroup (tinhocbk123.blogspot.com)  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. Bài 7.1 7 XÂU KÍ TỰ - STRING Viế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.2 Viế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.3 Viế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 160
  10. 10. Bài 7.4 Ngôn ngữ lập trình C  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. In danh sách họ và tên sau khi đã s ắp xếp. 8 CẤU TRÚC - STRUCTURE Bài 8.1  Struct, union,.. Điểm của sinh viên được quản lý như sau: Mã sinh viên Tê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ọc sinh 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óa SV01 Nam 6 7 9 SV02 Lien 4 6 5 SV03 Thuong 9 9 8 SV04 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: Sinh vien co ma xxx, ten la xxx co diem trung binh xxx la cao nhat.  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 Yếu <5 Trung bình <7 Khá <8 Giỏi <9 Xuất sắc Còn lại  Sắp xếp danh sách sinh viên theo thứ tự giảm dần của điểm trung bình. 161
  11. 11. Bài 8.2 LSGroup (tinhocbk123.blogspot.com) Xâ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ột trong 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.3 Viế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. Bài 8.4 Thô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ết chươ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 Bài 9.1  Quản lý tập tin: tạo, xóa Thô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 162
  12. 12. Ngôn ngữ lập trình C  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ểm Bài 9.2 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ã 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.3 Viế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. 163

×