Professional Documents
Culture Documents
Bài thực hành 10: Viết chương trình sau sử dụng hàm:
- Nhập 2 số thực.
- Hoán vị 2 số.
Bài thực hành 11: Viết chương trình hỗ trợ người dùng thực hiện các
phép tính gồm cộng, trừ, nhân và chia hai số.
- Nếu ký tự được nhập từ bàn phím là “+” thì phép tính cộng.
- Nếu ký tự được nhập từ bàn phím là “-” thì phép tính trừ.
- Nếu ký tự được nhập từ bàn phím là “*” thì phép tính nhân.
- Nếu ký tự được nhập từ bàn phím là “/” thì phép tính chia.
Yêu cầu thực hiện:
- Viết hàm tính tổng.
- Viết hàm tính trừ.
- Viết hàm tính nhân.
- Viết hàm tính chia.
Bài thực hành 12: Viết chương trình sau có sử dụng hàm:
- Nhập số nguyên dương n.
- Tính tổng S = 1+ 2 + 3+ …..+ n , với n>0 (Viết hàm tính tổng - unsigned long
TongS (unsigned int n);
Bài thực hành 13: Viết chương trình sau có sử dụng hàm:
- Nhập số nguyên n.
- Kiểm tra số n có phải là số hoàn hảo hay không (Viết hàm Perfect (n)).
Lưu ý: Số hoàn hảo là số nguyên dương bằng tổng các ước thực sự của nó. Ví dụ: 6 =
1+ 2+3.
Bài thực hành 14: Viết chương trình sau có sử dụng hàm:
- Nhập họ tên, lương, thưởng của một nhân viên
- Tính tổng lương và in kết quả ra màn hình.
Bài thực hành 15: Viết chương trình sau có sử dụng hàm:
- Nhập 1 dãy số.
- Tìm min/max của dãy số nhập vào.
- Tính trung bình của 2 số min và max.
* Exercise 16: Markup
Write a program that asks the user to enter an item’s wholesale cost and its markup
percentage. It should then display the item’s retail price. For example:
• If an item’s wholesale cost is 5.00 and its markup percentage is 100%, then the
item’s retail price is 10.00.
• If an item’s wholesale cost is 5.00 and its markup percentage is 50%, then the
item’s retail price is 7.50.
The program should have a function named calculateRetail that receives the
wholesale cost and the markup percentage as arguments and returns the retail price
of the item.
Input Validation: Do not accept negative values for either the wholesale cost of the
item or the markup percentage.
Example:
Input: n = 50; m = 100
Output: 99
Input: n = 50; m = 98
Output: 98
Explanation:
There are two numbers with the maximum digit sum: 98 and 89.
Since 98 > 89, so 98 is the answer.
* Exercise 29: Overloading function: Add two parameters of different data types
Create functions which find the sum of two numbers of type int, float and double. The
overloaded function add() takes two parameters of different data types.
Example:
Input:
Int: x= 25; y=50;
Float: a= 12.65; b=116.50;
Double: m= 1234.567; n=2468.357;
Output:
Sum int: 75
Sum float: 129.15
Sum double: 3702.92
Bài thực hành 5: Xây dựng hàm (tt)
1. Mục tiêu
- Xây dựng hàm sử dụng tham số là con trỏ.
- Xây dựng hàm đệ quy.
- Sử dụng các thư viện của ngôn ngữ lập trình C.
- Xây dựng các ứng dụng tổng hợp: nhập xuất, lệnh điều kiện, lệnh lặp, hàm.
2. Số tiết: 4
3. Nội dung thực hành
Giảng viên lựa chọn 1 số bài cho sinh viên thực hành tại lớp và các bài tập khác để
sinh viên tự thực hành tại nhà.
Bài thực hành 1: Viết chương trình hoán vị 2 số, sử dụng hàm có tham số là con
trỏ.
Bài thực hành 2: Viết chương trình tìm số lớn nhất trong 3 số thực, sử dụng hàm
có tham số là con trỏ.
Bài thực hành 3: Viết chương trình tăng giá trị của biến nơi con trỏ đang trỏ đến
lên 1 đơn vị, sử dụng hàm có tham số là con trỏ.
Bài thực hành 4: Viết chương trình sau sử dụng hàm đệ quy:
- Nhập số nguyên n.
- Tính n!
Bài thực hành 5: Viết chương trình sau sử dụng hàm đệ quy:
- Nhập số nguyên n.
- Tính số hạng thứ n của dãy Fibonaci.
F(n) =
Bài thực hành 6: Viết chương trình sau sử dụng hàm đệ quy:
- Nhập một số nguyên.
- Kiểm tra số nguyên có bằng tổng giai thừa các chữ số của nó hay không.
Ví dụ: 145!=1!+4!+5!
Bài thực hành 7: Viết chương trình sau sử dụng hàm đệ quy:
- Nhập số nguyên dương n.
- Đếm số lượng chữ số của một số nguyên dương n.
Bài thực hành 8: Viết chương trình sau sử dụng hàm đệ quy:
- Nhập số nguyên dương n.
- Tính tổng các số từ 1 đến n.
Bài thực hành 9: Viết chương trình sau sử dụng hàm đệ quy:
- Nhập 2 số nguyên a, b
- Tìm ước số chung lớn nhất của 2 số a, b.
- Tìm bội số chung nhỏ nhất của 2 số a, b.
Bài thực hành 10: Viết chương trình cho bài toán Tháp Hà Nội.
Dưới đây là hình minh họa cách giải bài toán Tháp Hà Nội (Tower of Hanoi) với
trường hợp có 3 đĩa.
Di chuyển các đĩa có kích cỡ khác nhau sang cột khác sao cho vẫn đảm bảo thứ tự
ban đầu của các đĩa: đĩa nhỏ nằm trên đĩa lớn.
Dưới đây là một số qui tắc cho trò chơi toán học Tháp Hà Nội (Tower of Hanoi):
- Mỗi lần chỉ có thể di chuyển một đĩa từ cột này sang cột khác.
- Chỉ được di chuyển đĩa nằm trên cùng (không được di chuyển các đĩa nằm
giữa).
- Đĩa có kích thước lớn hơn không thể được đặt trên đĩa có kích thước nhỏ hơn.
Mã nguồn tham khảo:
#include<stdio.h>
void TOH(int num, char x, char y, char z);
int main() {
int num;
printf("\nNhap so dia: ");
scanf("%d", &num);
TOH(num - 1, 'A', 'B', 'C');
return (0);
}
void TOH(int num, char x, char y, char z) {
if (num > 0) {
TOH(num - 1, x, z, y);
printf("\n%c -> %c", x, y);
TOH(num - 1, z, y, x);
}
}
{
if (x==1)
return 1 ;
return Tinh(x-1) + 1/(2*x) ;
}
Bài thực hành 13: Tính S(n) = 1/(1*2) + 1/(2*3) + 1/( n(*n-1))
Gợi ý:
float Tinh (float x)
{
if (x==1)
return 0.5 ;
return Tinh(x-1) + 1/(x*(x+1)) ;
}
Bài thực hành 14: Tính S(n) = 1/2 + 3/4 + 5/6 + ... + (2n+1)/(2n+2)
Gợi ý:
float Tinh (float x)
{
if (x==1)
return 0.5 ;
return Tinh(x-1) + (2*x-1)/(2*x) ;
Bài thực hành 15: Tính S(n) = 1 + 1.2 + 1.2.3 + .... + 1.2.3....n
Gợi ý:
long GT(int x)
{
if(x==1)
return 1;
return GT(x-1)*x;
}
long Tinh (int x)
{
if (x==1)
return 1 ;