BÀI THỰC HÀNH NGÔN NGỮ LẬP TRÌNH C
I. CÁC KHÁI NIỆM CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C
Bài 1. Sử dụng Dev C++, soạn thảo chương trình minh họa cho việc khai báo khởi gán
giá trị cho các biến.
1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int a = 20 ; /* Khai bao va khoi dau cac bien */
6 int b = 15;
7 float x = 25.678;
8 clrscr();
9 printf("\n1:%d %f\n",a,x);
10 printf("2:%4d %10f\n",b,x);
11 printf("3:%2d %3f\n",a,x);
12 printf("4:%10.3f %10d\n",x,b);
13 printf("5:%-5d %f\n",a,x);
14 printf("6:%*d\n",b,b);
15 printf("7:%*.*f\n",12,5,x);
16 printf("8:%x :%8x :\n",a,a);
17 printf("9:%o :%8o :\n",a,a);
18 getch();
19 }
- Biên dịch và chạy chương trình. Giải thích kết quả thu được
- Tìm hiểu về các ký tự định dạng của câu lệnh printf()
Bài 2. Sử dụng Turbo C hoặc Dev C++, soạn thảo chương trình sau đây:
1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int m = 3,p = 5;
6 int a1,a2,a3,a4,a5;
7 float x1,x2,x3,x4;
8 clrscr();
9 printf("bien ");\
n Tim gia tri gan cho cac
10 a1 = m<p;
11 a2 = m == p;
12 a3 = p%m + p>m;
13 a4 = m*(p>m ? m:p);
14 a5 = m*(p<m ? p:p);
15 x1 = p/m;
16 x2 = (float)p/m;
17 x3 = (p +0.5)/m;
18 x4 = (int)(p+0.5)/m;
19 printf("\n a1 = %d ",a1);
20 printf("\n a2 = %d ",a2);
21 printf("\n a3 = %d ",a3);
22 printf("\n a4 = %d ",a4);
23 printf("\n a5 = %d ",a5);
24 printf("\n x1 = %10.3f ",x1);
25 printf("\n x2 = %10.3f ",x2);
26 printf("\n x3 = %10.3f ",x3);
27 printf("\n x4 = %10.3f ",x4);
28 getch();
29 }
- Biên dịch chạy chương trình? Chương trình lỗi? Hãy sửa lỗi của chương
trình? - Nếu không còn lỗi, hãy cho biết kết quả của chương trình và giải thích?
II. CÂU LỆNH NHẬP XUẤT DỮ LIỆU
Bài 3. Viết chương trình hiển thị nội dung “XIN CHAO!”.
Bài 4. Viết chương trình nhập vào 2 số tự nhiên và hiển thị tổng của chúng.
Bài 5. Viết chương trình nhập hai số, hoán đổi giá trị hai số rồi in ra hai số.
Bài 6. Viết chương trình tính chu vi và diện tích hình tròn có bán kính r (được nhập từ bàn
phím).
Hướng dẫn: Chu vi =2* p*r; S= p * r * r.
Bài 7. Viết chương trình nhập vào bán kính hình cầu, tính diện tích, thể tích của hình cầu
đó.
ng dn: 𝑠 = 4∗𝑃𝐼∗𝑅
2
𝑉 𝑃𝐼∗𝑅
3
Bài 8. Viết chương trình cho biết chữ số hàng trăm, hàng chục, hàng đơn vị của một số
nguyên dương có ba chữ số. Ví dụ khi nhập số 642 thì in ra:
Chữ số hàng trăm: 6 ;
Chữ số hàng chục: 4
Chữ số hàng đơn vị: 2
III. CÁC TOÁN TỬ ĐIỀU KHIỂN VÀ VÒNG LẶP
Bài 9. Nhập vào 3 số a, b, c. kiểm tra 3 số đó có tạo thành tam giác không. Nếu là tam giác
hãy tính diện tích và chu vi của tam giác đó.
Nửa chu vi 𝑝 =
𝑎 + 𝑏 + 𝑐
; Diện tích của tam giác 𝑠 = √𝑝(𝑝−𝑎)(𝑝−𝑐)(𝑝−𝑐)
2
Bài 10. Viết chương trình nhập vào 2 số a, b. Giải và biện luận phương trình dạng ax+b=0
Bài 11. Viết chương trình giải PT bậc 2: ax
2
+bx+c=0 (kiểm tra điều kiện chỉ cho nhập a
khác 0)
Bài 12. Viết chương trình nhập thông tin sinh viên: hoten, tongdiem. Xếp loại cho sinhvien.
Nếu tongdiem<5 thì xếp loại kém, 5<=tongdiem<7 t xếp loại trung bình,
7<=tongidem<8 thì xếp loại khá, còn lại giỏi. Hãy in ra thông tin hoten và xếp loại
sinh viên.
Bài 13. Nhập vào một tháng của một năm . Cho biết số ngày của tháng đó. (Năm chia hết
cho 4 nhưng không chia hết cho 100 hoặc năm chia hết cho 400)
Bài 14. Nhập vào điểm của một HS SV gồm 3 môn: Toán, lý, hoá (điểm từng môn nằm
trong đoạn [0..10]). Hãy tính tổng điểm và in ra màn hình:
- In chữ : ‘Xuất sắc’ nếu tổng điểm = 30 - In chữ : ‘Giỏi’ nếu tổng điểm = 24
.. 29
- In chữ : ‘Khá’ nếu tổng điểm = 21 .. 23
- In chữ : ‘TB’ nếu tổng điểm = 15 .. 20
- In chữ : ‘Yếu, kém’ nếu tổng điểm < 15
Bài 15. Nhập vào 2 số nguyên a, b và một kí tự ch. Hãy kiểm tra ch:
Nếu ch=’+’ thì thực hiện phép tính: a + b
Nếu ch=’-‘ thì thực hiện phép tính: a-b
Nếu ch=’*’ thì thực hiện phép tính: a * b
Nếu ch=’/’ thì thực hiện phép tính: a/b.
Còn lại thì đưa ra thông báo không phải là phép toán
Bài 16. Viết chương trình nhập vào một tự. Kiểm tra xem ký tự đó chữ cái, chữ số
hay các ký tự khác.
Bài 17. Cần tổng 20.000đ từ 3 loại giấy bạc 1.000đ, 2.000đ, 5.000đ. Lập chương trình
để tìm tất cả các phương án có thể.
Bài 18. Viết chương trình tìm các số có 3 chữ số sao cho tổng các chữ số cộng lại bằng 9.
In kết quả ra màn hình (ví dụ: 234 có tổng 3 chữ số: 2+3+4=9)
Bài 19. Nhập vào số nguyên n. tính tổng các số chẵn trong khoảng từ 1 đến n
Bài 20. Viết chương trình nhập vào số nguyên n. Tính
A=1*2+2*3+…+n*(n+1)
B= ( x được nhập từ bàn phím, Nếu nhập x = 0 yêu cầu nhập lại)
𝑥 𝑥 𝑥
C=
D=
F= 1+3+5+…+(2*n+1) ( n là số nguyên dưong nhập từ bàn phím)
T=100+x/10-x/20+…+(-)x/10*n (x là một số thực, n số nguyên được nhập từ bàn phím)
F= ex+e2x+…+enx
T= n nếu n lẻ
nếu n chẵn
I= 100+20-30+…+(-1)
n
*(10*n)
IV. HÀM
Bài 21. Tính giai thừa của một số bằng cách sử dụng đệ quy.
Bài 22. Nhâp vào một một dạng nhị phân, in ra số đó dạng thập phân
Nhâp vào một sô một ở dạng thập, in ra số đó ở dạng nhị phân.
Bài 23. Xây dựng hàm tính k!. Áp dụng tính giá trị tổ hợp chập k của n:
Bài 24. Viết hàm tính tổng S, với n nguyên dương được nhập vào từ bàn phím:
S = 1! - 2! + 3! -4! + .. + (-1)
n+1
n!
Bài 25. Viết hàm tính tổng S, với n nguyên dương được nhập vào từ bàn phím:
1 1 1 1
k
+
1
1
S= − + − +...+(1)
2 4 6 8 2n
Bài 26. Viết chương trình xây dựng các m kiểm tra số nguyên tố, kiểm tra số chính
phương (số chính phương số khi lấy n bặc 2 kết quả nguyên). Nhập vào số
nguyên dương n, in ra màn hình các số nguyên tố <=n. Tính TBC các số chính
phương<=n.
Bài 27. Xây dựng hàm tìm UCSLN, BSCLN của 2 số nguyên dương bất kỳ. Áp dụng viết
chương trình nhập vào 2 số nguyên tương ứng là tử số và mẫu số của 1 phân số, viết
ra màn hình dạng tối giản của phân số đó
V. MẢNG
Bài 28. Viết chương trình nhập vào một dãy gồm n số nguyên. Yêu cầu tạo menu thực hiện
các công việc sau:
1. Sắp xếp dãy số theo chiều tăng dần
2. Sắp xếp dãy số theo chiều giảm dần
3. Tính trung bình cộng các số lẻ
4. Tìm phần tử lớn nhất, nhỏ nhất của dãy
5. In và tính TBC các số nguyên tố,
6. In các số chính phương
7. In các số hoàn hảo
8. In và tính TBC các số chia hết cho 6 tận cùng bằng 2.
Bài 29. Viết chương trình nhập vào một mảng số nguyên gồm n dòng, m cột. Yêu cầu tạo
menu thực hiện các công việc sau:
1. Sắp xếp ma trận theo chiều tăng(giảm) dần trái qua phải, từ trên xuống dưới.
2. Sắp xếp ma trận tăng dần theo dòng
3. Sắp xếp ma trận tăng dần theo cột
4. Sắp xếp ma trận giảm dần theo dòng
5. Sắp xếp ma trận giảm dần theo cột.
6. Tìm số nhỏ nhất của mảng, lớn lớn nhất của mảng
7. In các phần tử trên đường viền của ma trận.
Bài 30. Viết chương trình nhập vào ma trận vuông nxn các số nguyên A. Yêu cầu tạo menu
thực hiện các công việc sau:
1. In ra ma trận tam giác trên và ma trận tam giác dưới của ma trận A
2. In ra ma trận chéo của ma trận A
3. In ra ma trận chuyển vị của ma trận A
4. Tính TBC các phần tử hàng k, cột k, (k được nhập từ bàn phím1<=k<n )
của A
5. Tính TBC các phần tử nằm trên đường chéo chính đường chéo phụ của
A.
Bài 31. Viết chương trình nhập o hai ma trận A, B cấp nxn các số nguyên. Yêu cầu tạo
menu thực hiện các công việc sau:
1. In ra trận C=A+B;
2. In ra trận C=A-B;
3. In ra trận C=A*B;
VI. XÂU KÝ TỰ
Bài 32. Viết chương trình nhập vào một xâu:
1. Loại bỏ kí tự vô nghĩa ở đầu xâu, cuối xâu, giữa xâu
2. Chữ cái đầu câu viết hoa
3. Đếm số từ trong xâu. Đưa ra màn hình từ có độ dài lớn nhất.
Bài 33. Viết chương trình nhập vào một xâu. Hãy
1. Cho biết độ dài của xâu đó
2. Đổi xâu đó từ chữ thường thành chữ hoa
3. Nhập vào 1 ký tự. Đếm xem trong xâu đó bao nhiêu tự trùng với kí tự
vừa nhập.
4. In ra màn hình xâu đó theo thứ tự ngược lại.
Bài 34. Nhập 1 xâu ký tự. Nếu có aa…a (k chữ a) trong xâu thì thay bằng k chữ a (ka) với
k là số chữ a. VD: aaaaabbcc => 5a2b2c
VII. DỮ LIỆU CÓ CẤU TRÚC
Bài 35. Xây dựng cấu trúc phanso gồm 2 thành phần: tuso, mauso. Nhập 2 phân số, tính
tổng, hiệu, tích, thương của 2 phân số. Đưa phân số kết quả về dạng tối giản. Bài 36. Xây
dựng cấu trúc sinhvien gồm các thông tin sau: hoten, nam sinh, diemtb. a. Viết chương
trình nhập vào danh sách n sinhvien.
b. In ra màn hình danh sách các sinh viên xếp loại khá trở lên.
c. In ra màn hình danh sách các sinh viên có năm sinh <1997
d. Sắp xếp in lại danh sách sinh viên theo thứ tự giảm dần của diemtb Bài 37. Xây dựng
cấu trúc sach gồm: masach, tensach, tac gia, namxb.
a. Viết chương trình nhập vào danh sách n quyển sách
b. Tìm và in ra màn hình các quyển sách có tên <tin hoc dai cuong
c. Sắp xếp và in lại danh sách các quyển sách theo thứ tự abc của tensach
VIII. MỘT SỐ HÀM THƯỜNG DÙNG Hàm toán học. (Cần khai báo thư viện
math.h)
Hàm về xâu. (Cần khai báo thư viện string.h)
1. Nhập xâu: gets(s1);
2. Xuất xâu: puts(s1);
3. Hàm strcpy(s1,s2): Copy nội dung xâu s2 vào xâu s1
4. Hàm strcat(s1,s2): Nối chuỗi s2 vào s1
5. Hàm strcmp(s1,s2): so sánh s1 và s2 xem có bằng nhau không
(<0 nếu s1<s2; =0 nếu s1=s2; >0 nếu s1>s2)
6. Hàm strlen(s1): Trả về độ dài của xâu s1
7. Hàm strlwr(s1): Chuyển chuỗi s1 sang chữ thường;
8. Hàm strupr(s1): Chuyển chuỗi s1 sang chữ hoa
9. Hàm strrev(s1): Đảo ngược chuỗi kí tự
10. Hàm strchr(s, c): xác định vị trí xuất hiện của một ký tự trong một chuỗi. Hàm trả
về con trỏ trỏ đến giá trị tìm được đầu tiên trong chuỗi, hoặc NULL nếu không tìm
thấy

Preview text:

BÀI THỰC HÀNH NGÔN NGỮ LẬP TRÌNH C I.
CÁC KHÁI NIỆM CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C
Bài 1. Sử dụng Dev C++, soạn thảo chương trình minh họa cho việc khai báo và khởi gán giá trị cho các biến. 1 #include 2 #include 3 void main() 4 { 5
int a = 20 ; /* Khai bao va khoi dau cac bien */ 6 int b = 15; 7 float x = 25.678; 8 clrscr(); 9 printf("\n1:%d %f\n",a,x); 10 printf("2:%4d %10f\n",b,x); 11 printf("3:%2d %3f\n",a,x); 12
printf("4:%10.3f %10d\n",x,b); 13 printf("5:%-5d %f\n",a,x); 14 printf("6:%*d\n",b,b); 15 printf("7:%*.*f\n",12,5,x); 16 printf("8:%x :%8x :\n",a,a); 17 printf("9:%o :%8o :\n",a,a); 18 getch(); 19 }
- Biên dịch và chạy chương trình. Giải thích kết quả thu được
- Tìm hiểu về các ký tự định dạng của câu lệnh printf()
Bài 2. Sử dụng Turbo C hoặc Dev C++, soạn thảo chương trình sau đây: 1 #include 2 #include 3 void main() 4 { 5 int m = 3,p = 5; 6 int a1,a2,a3,a4,a5; 7 float x1,x2,x3,x4; 8 clrscr(); 9
printf("bien ");\ n Tim gia tri gan cho cac 10 a1 = m

11 a2 = m == p; 12 a3 = p%m + p>m; 13 a4 = m*(p>m ? m:p); 14 a5 = m*(p15 x1 = p/m; 16 x2 = (float)p/m; 17 x3 = (p +0.5)/m; 18 x4 = (int)(p+0.5)/m; 19 printf("\n a1 = %d ",a1); 20 printf("\n a2 = %d ",a2); 21 printf("\n a3 = %d ",a3); 22 printf("\n a4 = %d ",a4); 23 printf("\n a5 = %d ",a5); 24 printf("\n x1 = %10.3f ",x1); 25 printf("\n x2 = %10.3f ",x2); 26 printf("\n x3 = %10.3f ",x3); 27 printf("\n x4 = %10.3f ",x4); 28 getch(); 29 }
- Biên dịch và chạy chương trình? Chương trình có lỗi? Hãy sửa lỗi của chương
trình? - Nếu không còn lỗi, hãy cho biết kết quả của chương trình và giải thích?
II. CÂU LỆNH NHẬP XUẤT DỮ LIỆU
Bài 3. Viết chương trình hiển thị nội dung “XIN CHAO!”.
Bài 4. Viết chương trình nhập vào 2 số tự nhiên và hiển thị tổng của chúng.
Bài 5. Viết chương trình nhập hai số, hoán đổi giá trị hai số rồi in ra hai số.
Bài 6. Viết chương trình tính chu vi và diện tích hình tròn có bán kính r (được nhập từ bàn phím).
Hướng dẫn: Chu vi =2* p*r; S= p * r * r.
Bài 7. Viết chương trình nhập vào bán kính hình cầu, tính diện tích, thể tích của hình cầu đó.
Hướng dẫn: 𝑠 = 4∗𝑃𝐼∗𝑅2 𝑉 𝑃𝐼∗𝑅3
Bài 8. Viết chương trình cho biết chữ số hàng trăm, hàng chục, hàng đơn vị của một số
nguyên dương có ba chữ số. Ví dụ khi nhập số 642 thì in ra: Chữ số hàng trăm: 6 ; Chữ số hàng chục: 4
Chữ số hàng đơn vị: 2
III. CÁC TOÁN TỬ ĐIỀU KHIỂN VÀ VÒNG LẶP
Bài 9. Nhập vào 3 số a, b, c. kiểm tra 3 số đó có tạo thành tam giác không. Nếu là tam giác
hãy tính diện tích và chu vi của tam giác đó. Nửa chu vi 𝑝 = 𝑎
+ 𝑏 + 𝑐; Diện tích của tam giác 𝑠 = √𝑝(𝑝−𝑎)(𝑝−𝑐)(𝑝−𝑐) 2
Bài 10. Viết chương trình nhập vào 2 số a, b. Giải và biện luận phương trình dạng ax+b=0
Bài 11. Viết chương trình giải PT bậc 2: ax2+bx+c=0 (kiểm tra điều kiện chỉ cho nhập a khác 0)
Bài 12. Viết chương trình nhập thông tin sinh viên: hoten, tongdiem. Xếp loại cho sinhvien.
Nếu tongdiem<5 thì xếp loại kém, 5<=tongdiem<7 thì xếp loại trung bình,
7<=tongidem<8 thì xếp loại khá, còn lại giỏi. Hãy in ra thông tin hoten và xếp loại sinh viên.
Bài 13. Nhập vào một tháng của một năm . Cho biết số ngày của tháng đó. (Năm chia hết
cho 4 nhưng không chia hết cho 100 hoặc năm chia hết cho 400)
Bài 14. Nhập vào điểm của một HS – SV gồm 3 môn: Toán, lý, hoá (điểm từng môn nằm
trong đoạn [0..10]). Hãy tính tổng điểm và in ra màn hình:
- In chữ : ‘Xuất sắc’ nếu tổng điểm = 30
- In chữ : ‘Giỏi’ nếu tổng điểm = 24 .. 29
- In chữ : ‘Khá’ nếu tổng điểm = 21 .. 23
- In chữ : ‘TB’ nếu tổng điểm = 15 .. 20
- In chữ : ‘Yếu, kém’ nếu tổng điểm < 15
Bài 15. Nhập vào 2 số nguyên a, b và một kí tự ch. Hãy kiểm tra ch:
Nếu ch=’+’ thì thực hiện phép tính: a + b
Nếu ch=’-‘ thì thực hiện phép tính: a-b
Nếu ch=’*’ thì thực hiện phép tính: a * b
Nếu ch=’/’ thì thực hiện phép tính: a/b.
Còn lại thì đưa ra thông báo không phải là phép toán
Bài 16. Viết chương trình nhập vào một ký tự. Kiểm tra xem ký tự đó là chữ cái, chữ số hay các ký tự khác.
Bài 17. Cần có tổng 20.000đ từ 3 loại giấy bạc 1.000đ, 2.000đ, 5.000đ. Lập chương trình
để tìm tất cả các phương án có thể.
Bài 18. Viết chương trình tìm các số có 3 chữ số sao cho tổng các chữ số cộng lại bằng 9.
In kết quả ra màn hình (ví dụ: 234 có tổng 3 chữ số: 2+3+4=9)
Bài 19. Nhập vào số nguyên n. tính tổng các số chẵn trong khoảng từ 1 đến n
Bài 20. Viết chương trình nhập vào số nguyên n. Tính A=1*2+2*3+…+n*(n+1) B=
( x được nhập từ bàn phím, Nếu nhập x = 0 yêu cầu nhập lại) 𝑥 𝑥 𝑥 C= D=
F= 1+3+5+…+(2*n+1) ( n là số nguyên dưong nhập từ bàn phím)
T=100+x/10-x/20+…+(-)x/10*n (x là một số thực, n là số nguyên được nhập từ bàn phím) F= ex+e2x+…+enx T= n nếu n lẻ nếu n chẵn I= 100+20-30+…+(-1)n*(10*n) IV. HÀM
Bài 21. Tính giai thừa của một số bằng cách sử dụng đệ quy.
Bài 22. Nhâp vào một sô một ở dạng nhị phân, in ra số đó ở dạng thập phân
Nhâp vào một sô một ở dạng thập, in ra số đó ở dạng nhị phân.
Bài 23. Xây dựng hàm tính k!. Áp dụng tính giá trị tổ hợp chập k của n:
Bài 24. Viết hàm tính tổng S, với n nguyên dương được nhập vào từ bàn phím:
S = 1! - 2! + 3! -4! + .. + (-1)n+1 n!
Bài 25. Viết hàm tính tổng S, với n nguyên dương được nhập vào từ bàn phím: 1 1 1 1 1 k+1
S= − + − +...+(−1) 2 4 6 8 2n
Bài 26. Viết chương trình xây dựng các hàm kiểm tra số nguyên tố, kiểm tra số chính
phương (số chính phương là số khi lấy căn bặc 2 có kết quả là nguyên). Nhập vào số
nguyên dương n, in ra màn hình các số nguyên tố <=n. Tính TBC các số chính phương<=n.
Bài 27. Xây dựng hàm tìm UCSLN, BSCLN của 2 số nguyên dương bất kỳ. Áp dụng viết
chương trình nhập vào 2 số nguyên tương ứng là tử số và mẫu số của 1 phân số, viết
ra màn hình dạng tối giản của phân số đó V. MẢNG
Bài 28. Viết chương trình nhập vào một dãy gồm n số nguyên. Yêu cầu tạo menu thực hiện các công việc sau:
1. Sắp xếp dãy số theo chiều tăng dần
2. Sắp xếp dãy số theo chiều giảm dần
3. Tính trung bình cộng các số lẻ
4. Tìm phần tử lớn nhất, nhỏ nhất của dãy
5. In và tính TBC các số nguyên tố,
6. In các số chính phương 7. In các số hoàn hảo
8. In và tính TBC các số chia hết cho 6 tận cùng bằng 2.
Bài 29. Viết chương trình nhập vào một mảng số nguyên gồm n dòng, m cột. Yêu cầu tạo
menu thực hiện các công việc sau:
1. Sắp xếp ma trận theo chiều tăng(giảm) dần trái qua phải, từ trên xuống dưới.
2. Sắp xếp ma trận tăng dần theo dòng
3. Sắp xếp ma trận tăng dần theo cột
4. Sắp xếp ma trận giảm dần theo dòng
5. Sắp xếp ma trận giảm dần theo cột.
6. Tìm số nhỏ nhất của mảng, lớn lớn nhất của mảng
7. In các phần tử trên đường viền của ma trận.
Bài 30. Viết chương trình nhập vào ma trận vuông nxn các số nguyên A. Yêu cầu tạo menu
thực hiện các công việc sau:
1. In ra ma trận tam giác trên và ma trận tam giác dưới của ma trận A
2. In ra ma trận chéo của ma trận A
3. In ra ma trận chuyển vị của ma trận A
4. Tính TBC các phần tử ở hàng k, cột k, (k được nhập từ bàn phím1<=kcủa A
5. Tính TBC các phần tử nằm trên đường chéo chính và đường chéo phụ của A.
Bài 31. Viết chương trình nhập vào hai ma trận A, B cấp nxn các số nguyên. Yêu cầu tạo
menu thực hiện các công việc sau: 1. In ra trận C=A+B; 2. In ra trận C=A-B; 3. In ra trận C=A*B; VI. XÂU KÝ TỰ
Bài 32. Viết chương trình nhập vào một xâu:
1. Loại bỏ kí tự vô nghĩa ở đầu xâu, cuối xâu, giữa xâu
2. Chữ cái đầu câu viết hoa
3. Đếm số từ trong xâu. Đưa ra màn hình từ có độ dài lớn nhất.
Bài 33. Viết chương trình nhập vào một xâu. Hãy
1. Cho biết độ dài của xâu đó
2. Đổi xâu đó từ chữ thường thành chữ hoa
3. Nhập vào 1 ký tự. Đếm xem trong xâu đó có bao nhiêu kí tự trùng với kí tự vừa nhập.
4. In ra màn hình xâu đó theo thứ tự ngược lại.
Bài 34. Nhập 1 xâu ký tự. Nếu có aa…a (k chữ a) trong xâu thì thay bằng k chữ a (ka) với
k là số chữ a. VD: aaaaabbcc => 5a2b2c
VII. DỮ LIỆU CÓ CẤU TRÚC
Bài 35. Xây dựng cấu trúc phanso gồm 2 thành phần: tuso, mauso. Nhập 2 phân số, tính
tổng, hiệu, tích, thương của 2 phân số. Đưa phân số kết quả về dạng tối giản. Bài 36. Xây
dựng cấu trúc sinhvien gồm các thông tin sau: hoten, nam sinh, diemtb. a. Viết chương
trình nhập vào danh sách n sinhvien.
b. In ra màn hình danh sách các sinh viên xếp loại khá trở lên.
c. In ra màn hình danh sách các sinh viên có năm sinh <1997
d. Sắp xếp và in lại danh sách sinh viên theo thứ tự giảm dần của diemtb Bài 37. Xây dựng
cấu trúc sach gồm: masach, tensach, tac gia, namxb.
a. Viết chương trình nhập vào danh sách n quyển sách
b. Tìm và in ra màn hình các quyển sách có tên c. Sắp xếp và in lại danh sách các quyển sách theo thứ tự abc của tensach
VIII. MỘT SỐ HÀM THƯỜNG DÙNG Hàm toán học. (Cần khai báo thư viện math.h)
Hàm về xâu. (Cần khai báo thư viện string.h)
1. Nhập xâu: gets(s1);
2. Xuất xâu: puts(s1);
3. Hàm strcpy(s1,s2): Copy nội dung xâu s2 vào xâu s1
4. Hàm strcat(s1,s2): Nối chuỗi s2 vào s1
5. Hàm strcmp(s1,s2): so sánh s1 và s2 xem có bằng nhau không
(<0 nếu s10 nếu s1>s2)
6. Hàm strlen(s1): Trả về độ dài của xâu s1
7. Hàm strlwr(s1): Chuyển chuỗi s1 sang chữ thường;
8. Hàm strupr(s1): Chuyển chuỗi s1 sang chữ hoa
9. Hàm strrev(s1): Đảo ngược chuỗi kí tự
10. Hàm strchr(s, c): xác định vị trí xuất hiện của một ký tự trong một chuỗi. Hàm trả
về con trỏ trỏ đến giá trị tìm được đầu tiên trong chuỗi, hoặc NULL nếu không tìm thấy