Lập trình C: Bài tập phần hàm (function)

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Bài tập 0:

Cho mảng một chiều a chứa n phần tử bao gồm cả các số âm và dương. Hãy viết hàm (và các hàm phụ trợ nếu cần) để thực hiện việc hoán đổi giá trị của các phần tử mảng sao cho các số dương và âm xen kẽ nhau. Những số dương hoặc âm còn lại nếu có sẽ được đẩy về cuối mảng.

Bài tập 1:

Viết chương trình dưới dạng hàm thực hiện các việc sau:

1. Ở hàm main() khai báo 2 biến number1, number2 kiểu float

2. Định nghĩa hàm nhapLieu() để nhập dữ liệu cho 2 biến number1, number2 của hàm main()

3. Định nghĩa hàm tinhTong() để tính tổng của 2 biến number1, number2 của hàm main()

4. Định nghĩa hàm tinhHieu() để tính hiệu của 2 biến number1, number2 của hàm main()

5. Định nghĩa hàm tinhNhan() để tính tích của 2 biến number1, number2 của hàm main()

6. Định nghĩa hàm tinhChia() để tính thương của 2 biến number1, number2 của hàm main()

7. Định nghĩa hàm timUocSoChungLonNhat() để tìm ước số chung lớn nhất của 2 biến number1, number2 của hàm main()

8. Định nghĩa hàm timBoiSoChungNhoNhat() để tìm bội số chung nhỏ nhất của 2 biến number1, number2 của hàm main()

Bài tập 2:

Viết chương trình dưới dạng hàm thực hiện các việc sau:

1. Nhập một số N bất kỳ từ bàn phím.

2. N có phải số nguyên không?

3. Kiểm tra tính chẵn lẻ của N.

4. N có phải là số chẵn dương không?

5. N có phải là số lẻ âm không?

6. N có phải số chính phương không?

7. Nếu 0<N<1000 thì kiểm tra xem N có phải số đặc biệt không? (số đặc biệt là số nguyên có tổng lập phương của các ký số bằng chính nó, ví dụ số 153 = 13 + 53 + 33)

Bài tập 3:

Viết chương trình dưới dạng hàm thực hiện các việc sau:

1. Nhập vào từ bàn phím 3 số a, b, c bất kỳ.

2. Kiểm tra xem 3 số a, b, c ở trên có thỏa mãn là 3 cạnh của một tam giác không.

3. a, b, c có phải là 3 cạnh của tam giác cân không?

4. a, b, c có phải là 3 cạnh của tam giác đều không?

5. a, b, c có phải là 3 cạnh của tam giác vuông không?

6. a, b, c có là 3 cạnh của tam giác vuông cân không?

Bài tập 4:

Viết chương trình dưới dạng hàm thực hiện các việc sau:

Bạn hãy viết chương trình giải phương trình bậc 2 ax2+bx+c=0 dạng menu như sau:

1. Nhập 3 hệ số a, b, c

2. Xác định nghiệm

3. Thoát

Yêu cầu cụ thể:

Khi người dùng chọn 1 thì yêu cầu người dùng nhập vào từ bàn phím 3 hệ số a, b và c.

Khi người dùng chọn 2 thì bạn hãy xác định nghiệm của phương trình dựa trên các hệ số đã nhập từ mục 1.

Khi người dùng chọn 3 thì bạn hãy cho thoát khỏi trương trình.

Nếu người dùng không chọn mục 1, 2 hay 3 thì yêu cầu người dùng chọn cho đúng.

Bài tập 5:

Viết chương trình dưới dạng hàm thực hiện các việc sau:

1. Nhập số nguyên dương n

2. Tính tổng các chữ số của n.

3. Phân tích n thành tích các thừa số nguyên tố.

4. Liệt kê các ước số của n.

5. Liệt kê các ước số là nguyên tố của n.

Bài tập 6:

Viết chương trình dạng Menu chọn thực hiện các công việc sau (lưu ý mỗi công việc được thực hiện trên một hàm):

1. Nhập một số nguyên N (0<N<50).

2. Nhập một mảng gồm N số thực.

3. Tìm số lớn nhất trong mảng.

4. Tìm số nhỏ nhất trong mảng.

5. Tìm số dương chẵn lớn nhất trong mảng.

6. Tìm số âm lẻ nhỏ nhất trong mảng.

7. Tìm các số chính phương trong mảng.

8. Tính tổng mảng.

9. Tính trung bình cộng các phần tử mảng.

10. Tìm những phần tử lớn hơn trung bình cộng.

11. Sắp xếp mảng theo trật tự tăng dần.

12. Sắp xếp mảng theo trật tự giảm dần.

Bài tập 7:

Viết chương trình dạng Menu chọn thực hiện các công việc sau (lưu ý mỗi công việc được thực hiện trên một hàm):

1. Nhập N là số nguyên dương theo điều kiện 0<N<=30.

2. Nhập liệu cho mảng 2 chiều A, là ma trận vuông cấp N x N.

3. Tính tổng tất cả các phần tử dương của mảng.

4. Tính tổng các phần tử A[i][j] trong đó (i + j) chia hết cho 5.

5. In ra các số nguyên tố theo từng hàng.

6. Sắp xếp tăng dần theo hàng.

7. Sắp xếp giảm dần theo cột .

8. Sắp xếp tăng dần theo hàng và cột.

9. Tính tổng các phần tử trên đường chéo chính (i = j) và trên đường biên.

10. Tìm phần tử max, phần tử min theo từng hàng, từng cột và toàn bộ ma trận.

Bài tập 8:

Viết chương trình dạng Menu chọn thực hiện các công việc sau (lưu ý mỗi công việc được thực hiện trên một hàm):

1. Nhập một chuỗi a bất kỳ từ bàn phím có kích thước trong khoảng (0,50).

2. Kiểm tra xem trong chuỗi a có ký số hay không.

3. Kiểm tra xem trong chuỗi a có ký tự in HOA hay không.

4. Nhập từ bàn phím một ký tự ch bất kỳ, kiểm tra xem trong chuỗi a có chứa ký tự đó hay không.

5. Nhập từ bàn phím một chuỗi b bất kỳ, kiểm tra xem b có nằm trong a hay không? Kiểm tra xem b có độ dài lớn hơn a hay không? Kiểm tra xem b có lớn hơn a hay không.

6. Kiểm tra xem chuỗi a có tính đối xứng hay không.

7. Chuỗi a có bao nhiêu từ.

8. Cắt tất cả dấu cách (space) ở cuối chuỗi.

9. Cắt tất cả dấu cách ở đầu chuỗi.

10. Hãy đảm bảo rằng giữa hai từ bất kỳ của chuỗi a chỉ có một dấu cách.

11. Tính giá trị trung bình của tất cả các ký tự của chuỗi a theo thứ tự ký tự trong bảng mã ASCII (ví dụ nếu chuỗi là "123" thì ký tự '1' có vị trí 49, ký tự '2' có vị trí 50, ký tự '3' có vị trí 51, như vậy giá trị trung bình là 50).

12. Đếm xem mỗi ký tự trong chuỗi a xuất hiện bao nhiêu lần. Ví dụ với chuỗi "V1StudyAll" thì ký tự 'l' xuất hiện 2 lần, các ký tự khác xuất hiện 1 lần.

13. Hãy chèn vào giữa ký tự có chỉ số 4 và 5 của chuỗi a một ký tự '\n'.

14. Hãy chèn vào giữa 2 ký tự in hoa bất kỳ của chuỗi a ký tự '\t'.

Bài tập 9:

Viết chương trình dạng Menu chọn thực hiện các công việc sau (lưu ý mỗi công việc được thực hiện trên một hàm):

1. Nhập N và nhập một mảng a gồm N chuỗi (0<N<=50 và mỗi chuỗi có kích thước tối đa 30).

2. Tìm những chuỗi có kích thước nhỏ nhất, lớn nhất.

3. Tính kích thước trung bình của các chuỗi.

4. Hiển thị những chuỗi có kích thước lớn hơn kích thước trung bình. 

5. Sắp xếp các chuỗi tăng dần, giảm dần theo kích thước.

6. Tìm những chuỗi nhỏ nhất, lớn nhất theo thứ tự ký tự trong bảng mã ASCII.

7. Sắp xếp các chuỗi tăng dần, giảm dần theo thứ tự ký tự trong bảng mã ASCII.

8. Nhập vào từ bàn phím một chuỗi st có kích thước tối đa 30. Tìm những chuỗi trong mảng a có kích thước bằng chuỗi st. Tìm những chuỗi trong mảng a có chứa chuỗi st.

9. Tìm những chuỗi có tính đối xứng trong mảng a.

10. Hiển thị những chuỗi là địa chỉ email chuẩn (ví dụ "abc@def.com").

11. Tìm những chuỗi có chứa ký tự số.

12. Tìm những chuỗi có chứa ký tự in HOA.

13. Nhập từ bàn phím một ký tự c bất kỳ. Tìm những chuỗi có chứa ký tự c.

14. Mỗi chuỗi trong mảng a có bao nhiêu từ.

15. Nhập vào một ký tự rồi chèn ký tự đó vào vị trí thứ 5 của chuỗi cuối cùng.

16. Nhập M chuỗi (0<M<N) sau đó đếm xem mỗi chuỗi trong M chuỗi xuất hiện bao nhiêu lần trong N chuỗi.

17. Nối tất cả các chuỗi và in ra.

18. Hiển thị những chuỗi chứa chuỗi đầu tiên.

19. Kiểm tra xem chuỗi đầu tiên có bắt đầu bằng chuỗi "hello" không.

20. Tính giá trị trung bình theo vị trí ký tự trong bảng mã ASCII của từng chuỗi.

21. Hiển thị những chuỗi có độ dài lớn hơn độ dài nhỏ nhất và nhỏ hơn độ dài lớn nhất trong mảng a.

22. Nhập vào một độ dài xác định và in ra những chuỗi có độ dài bằng độ dài xác định đó.

23. Đếm số từ trong chuỗi thứ N-1.

24. Chuyển chuỗi thứ hai thành chuỗi in hoa.

25. Cắt ký tự trắng ở cuối chuỗi cuối cùng.

26. Cắt ký tự trắng ở đầu chuỗi cuối cùng.

27. Cắt ký tự trắng thừa ở giữa chuỗi cuối cùng.

» Tiếp: Bài tập phần cấu trúc (struct)
« Trước: Bài tập phần mảng (Array)
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!