Tài liệu Thực hành C/C++ Lap 5 pdf

4 492 1
Tài liệu Thực hành C/C++ Lap 5 pdf

Đang tải... (xem toàn văn)

Thông tin tài liệu

BÀI THỰC HÀNH 5 Bài 1: a) Viết định nghĩa cho hàm tongLe trong C với mẫu khai báo: int tongLe(int N); Hàm này trả vể tổng của tất cả số lẻ từ 1 đến N (gồm cả số 1 và số N nếu N lẻ, và ta phải giả sử N  1). Ví dụ khi gọi to ngLe(7), kết quả trả về sẽ là 16 (vì: 1+3+5+7= 16); hoặc khi gọi tongLe(12) thì kết quả là 36 (vì 1+3+5+7+9+11= 36). b) Viết hàm main và thực thi hàm tongLe bằng cách đọc giá trị số nguyên từ bàn phím, và nếu đó là số dương thì hàm tongLe được gọi và kết quả được in ra màn hình. Bài 2: a) Viết định nghĩa cho hàm giaiThua với mẫu khai báo: long giaiThua(int N); Hàm này trả về giai thừa của số nguyên không âm N. Giai thừa được định nghĩa:      1,0,0! 1,1.2) 2).(1.(! nn nnnnn Ví dụ khi gọi giaiThua(5) thì kết quả trả về sẽ là 120 (Vì 5!= 5.4.3.2.1= 120) b) Viết hàm main và chạy thử hàm giaiThua bằng cách đọc giá trị 1 số nguyên, nếu là số âm thì chương trình cho đọc lại, cho đến khi nhận được 1 số không âm thì gọi hàm giaiThua và in kết quả tính giai thừa của số ấy ra màn hình. Bài 3: Viết định nghĩa các hàm: (1) Hàm tongNDGT, tính tổng    n i i S 1 ! 1 (2) Hàm tich, tính tích:      Viết hàm main và chạy thử 2 hàm này. Thực hiện như bài 2, câu b) Bài 4: a) Viết định nghĩa cho hàm ktNgTo() với mẫu khai báo: int ktNgTo(int N); Hàm thực hiện việc kiểm tra xem một số nguyên dương lớn hơn 1 có phải là số nguyên tố hay không, nếu đúng là số nguyên tố thì trả về giá trị 1, nếu không phải thì trả về giá trị 0. b) Viết định nghĩa cho hàm nhoHonM() với mẫu khai báo: void nhoHonM(int M); Hàm này thực hiện việc gọi hàm ktNgTo và in ra tất cả các số nguyên tố nhỏ hơn hoặc bằng M. Ví dụ gọi nhoHonM(8) thì sẽ in ra các số nguyên tố: 2, 3, 5, 7. c) Viết định nghĩa cho hàm MsoNgTo với mẫu khai báo: void m_soNgTo(int M); Hàm này thực hiện việc gọi hàm ktNgTo và in ra M số nguyên tố đầu tiên. VD: gọi MsoNgTo(8) thì sẽ in ra 8 số nguyên tố đầu tiên là: 2, 3, 5, 7, 11, 13, 17, 19. d) Viết hàm main cho đọc vào giá trị 1 số nguyên, nếu là số không dương chương trình cho đọc lại, cho đến khi nhận được 1 số dương thì gọi hàm các hàm nhoHonM và MsoNgTo để in lần lượt các số nguyên tố ra màn hình. Bài 5: a) Viết định nghĩa hàm tìm ước số chung lớn nhất của hai số nguyên a và b, với khai báo: int ucln(int a, int b); b) Viết hàm main cho phép nhập hai số nguyên đại diện cho tử và mẫu của một phân số, gọi hàm USCLN thực hiện tối giản phân số này và in ra phân số ấy sau khi đã rút gọn. VD nhập vào 2 số là: 6 và 8, in ra: 3/4. Bài 6: a) Viết định nghĩa hàm toHop(int n, int k) để tính tổ hợp )!(! ! knk n C k n   . b) Viết định nghĩa hàm ve_tgPascal(int h), vẽ tam giac Pascal có chiều cao h. Ví dụ h= 4: 1 1 1 1 2 1 1 3 3 1 Tương ứng: 0 0 C 0 1 C 1 1 C 0 2 C 1 2 C 2 2 C 0 3 C 1 3 C 2 3 C 3 3 C c) Viết hàm main cho nhập vào 1 số nguyên dương (nếu không thì cho nhập lại, đến khi nhận được số dương), in ra màn hình tam giác Pascal có chiều cao tương ứng, bằng cách gọi hàm ve_tgPascal(). Bài 7: a) Viết định nghĩa hàm tính e x với khai báo: double e_mu(double x); theo công thức: n! x 2! x 1! x 1 e n2 x  Hàm tính đến khi sai khác giữa hai lần tính là số nhỏ hơn 10 –6 . b) Viết hàm main cho nhập vào một số thực x, gọi hàm e_mu để tính và in ra giá trị e x vừa tính được. Đồng thời in kết quả tính được từ việc gọi hàm exp(x) trong thư viện math.h để so sánh kết quả trên. Bài 8: a) Viết định nghĩa hàm thực hiện lại bài tập 7 – B03, với hàm có khai báo: double tinhTien(int so_gio); Hàm nhận vào số giờ đỗ xe của 1 xe hơi, tính và trả về số tiền tương ứng mà khách hàng phải trả cho chủ bãi. b) Viết hàm main, dùng lặp do-while để thực hiện việc nhập váo số giờ đỗ xe cho nhiều khách khàng, nhập đến khi nhập số 0 hoặc số âm thì dừng. Với mỗi khách hàng, gọi hàm tinhTien để tính và in ra số tiền phải trả của khách hàng ấy. Sau khi kết thúc việc nhập, hãy in ra tổng số tiền thu được của chủ bãi xe. Bài 9: Viết các định nghĩa hàm thực hiện lại bài tập 10-b03 (chương 5, phần lựa chọn), với các hàm: (1) double luong_QL ( ); cho nhập và trả về lương của quản lý. (2) double luong_gio ( ); cho nhập vào số giờ đã làm và lương cơ bản của công nhân làm theo giờ, tính và trả về lương của người này. (3) double luong_LN ( ); cho nhập vào trị giá doanh số bán ra của công nhân theo lợi nhuận, tính ra lương trả cho người này. (4) double luong_SP ( ); cho nhập vào tiền công cho mỗi sản phẩm và nhập vào số lượng sản phẩm người ấy đã làm ra trong tuần. Tính lương cho họ. (5) double luong (int ma_so); nhận vào mã số, tùy mã số mà gọi hàm tính lương của công nhân ứng với mã số ấy. viết hàm main, dùng lặp do-while cho phép nhập lần lượt nhiều mã số khác nhau từ 1…4, gọi hàm luong để thực hiện tính và in ra lương ứng với 1 công nhân của mã số ấy.Nếu mã số không hợp lệ thì dừng và in ra tổng số tiền mà công ty phải trả trong tuần. Bài 10: (Viết chương trình mô phỏng trò chơi tung đồng xu) Viết định nghĩa hàm flip không nhận vào tham số, và trả về số 0 (mặt số của đồng xu) hoặc số 1 (mặt hình), sau mỗi lần tung đồng xu, chương trình in ra “số” hoặc “hình”. (Dùng hàm random để tạo ngẫu nhiên các số 0 hay 1 này.) Cho chương trình tung đồng xu 100 lần, đếm số lần và in ra kết quả là xác suất số lần mặt số ( hay hình ) xuất hiện. Bài 11: Viết các hàm (SV tự đặt tên, định kiểu…) có các chức năng sau: a. Hàm cho nhận vào một số nguyên, dùng các phép toán chia nguyên và chia dư giữa hai số nguyên để tính và trả về số chữ số của số nguyên ấy. Ví dụ: số N = 46085  trả về 5 (vì số 46085 có 5 chữ số). b. Hàm cho nhận vào một số nguyên không âm, tính và in ra dãy các số là các chữ số của số ban đầu (theo thứ tự ngược). Ví dụ số N = 4562  in ra 2 6 5 4 c. Hàm nhận vào một giá trị số nguyên không âm và trả về một số nguyên khác có các chữ số là đảo ngược với số ban đầu. Ví dụ, gọi hàm với số 7361, hàm trả về số 1637. d. Hàm nhận vào một số nguyên không âm, hàm kiểm tra xem đây có phải là số đối xứng không ? (xem thêm BT15-chương 5, phần lặp). e. Hàm cho nhận vào một số nguyên không âm, tính và in ra dãy các số là các chữ số của số ban đầu (theo đúng thứ tự). Ví dụ số N = 402  in ra: 4 0 2 . tính và trả về số chữ số của số nguyên ấy. Ví dụ: số N = 460 85  trả về 5 (vì số 460 85 có 5 chữ số). b. Hàm cho nhận vào một số nguyên không âm, tính. quả trả về sẽ là 16 (vì: 1+3 +5+ 7= 16); hoặc khi gọi tongLe(12) thì kết quả là 36 (vì 1+3 +5+ 7+9+11= 36). b) Viết hàm main và thực thi hàm tongLe bằng cách

Ngày đăng: 19/02/2014, 05:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan