You are on page 1of 22

C# cơ bản

Bài tập

1
Bài 1

• Viết chương trình nhập vào Họ tên và MSSV trên 2 dòng. Hiển
thị tên và MSSV trên cũng 1 dòng

• Gợi ý: Tìm kiếm phương thức Console.ReadLine()


Bài 2

• Viết chương trình nhập vào năm sinh của người dùng
và hiển thị lên màn hình số tuổi tương ứng

• Gợi ý: Sinh viên tìm kiếm từ khóa Parse, TryParse để


chuyển kiểu dữ liệu chuỗi nhập vào sang số nguyên
Bài 3

• Viết chương trình nhập vào chiều dài và chiều rộng của
một hình chữ nhật. In ra màn hình diện tích của hình
chữ nhật vừa mới nhập vào
Bài 4

• Viết chương trình nhập vào chỉ số Chỉ số IQ Mức độ thông minh
<85 Thấp
IQ của một người. Hiển thị mức độ
85 đến <115 Bình thường
thông minh của người đó lên màn 115 đến <130 Thông minh
hình. Biết điều kiện để phân loại 130 đến <145 Rất thông minh
>145 Thiên tài
mức độ IQ như sau:

5
Bài 5

• Viết chương trình nhập vào 1 tháng và in ra tháng đó có bao


nhiêu ngày. Biết
• Các tháng 1, 3, 5, 7, 8, 10, 12 có 31 ngày

• Các tháng 4, 6, 9, 11 có 30 ngày

• Tháng 2 có 28 hoặc 29 ngày.

6
Bài 6
• Cho biết một năm là năm nhuận Âm lịch nếu lấy năm dương lịch tương ứng chia cho 19
thì số dư sẽ là một trong các số sau: 0, 3, 6, 9, 11, 14, 17.

• Ví dụ: Nhâm Dần là năm âm lịch, năm dương lịch tương ứng là 2022 à năm 2022 không
phải là năm nhuận Âm lịch.

a. Cho biết trong các năm dương lịch sau: 1896, 1997, 2000, 2023, năm nào là năm
nhuận Âm lịch?

b. Có bao nhiêu năm nhuận Âm lịch từ năm 1900 đến 2022 (tính cả 1900 và 2022)?
Bài 7

• Viết chương trình chuyển đổi 1 số nguyên nhập vào thành


chuỗi tương ứng

• Ví dụ: 134000 -> Một trăm ba mươi bốn nghìn


Bài toán rút tiền ATM: Bài 8
Máy ATM chứa các mệnh giá tiền của Việt Nam hiện nay từ 10,000 đồng đến 500,000 đồng
(giả sử máy luôn đủ tiền để rút). Nhập số tiền muốn rút là A đồng (số tiền muốn rút phải
chia hết cho 10,000). Hãy cho biết số tờ tiền ít nhất mà máy ATM sẽ trả? In ra số tờ cùng
với mệnh giá của từng loại tiền:
Ví dụ:
Nếu rút 55,000 thì máy sẽ báo nhập lại số tiền phải chia hết cho 10,000.
Rút 1,310,000 ngàn máy sẽ trả:
2 tờ năm trăm ngàn
1 tờ hai trăm ngàn
1 tờ một trăm ngàn
1 tờ mười ngàn.
Bài 8

• Gợi ý các biến cục bộ

int soTienCanRut = 0;
int[] menhGia = { 500_000, 200_000, 100_000, 50_000, 20_000, 10_000 };
int[] soToTuongUng = { 0, 0, 0, 0, 0, 0 };
string soTienNhapVao;

10
Bài 8

• Tìm số tờ

for (int i = 0; i < menhGia.Length; i++)


{
soToTuongUng[i] = soTienCanRut / menhGia[i];
soTienCanRut = soTienCanRut % menhGia[i];
}

11
Bài 9: Giao dịch tại ATM
Viết chương trình giao dịch cơ bản tại cây ATM

Mô tả:

Hiển thị màn hình các giao dịch

1. Kiểm tra số dư (Balance checking)

2. Rút tiền mặt (Cash withdrawal)

3. Nộp tiền mặt (Cash deposition)

4. Thoát (Quit)

Giả sử số tiền trong tài khoản (amount) ban đầu là 1_000_000

12
Bài 9: Giao dịch tại ATM

Local biến

int amount = 1_000_000; //Số tiền trong tài khoản


int deposit; //Số tiền gửi
int withdraw; //Số tiền rút
int choice = 0; //Lựa chọn giao dịch
int pin = 0; //Mã pin người dùng nhập
int pinCode = 1234; //Mã pin mặc định

13
Bài 9: Giao dịch tại ATM

Các lựa chọn

Console.WriteLine("********Welcome to ATM Service**************");


Console.WriteLine("1. Kiểm tra số dư"); //Check Banlance
Console.WriteLine("2. Rút tiền mặt"); //Withdraw Cash
Console.WriteLine("3. Gửi tiền mặt"); //Deposit Cash
Console.WriteLine("4. Thoát");
Console.WriteLine("*********************************************\n");

14
Bài 9: Giao dịch tại ATM

• Lựa chọn kiểm tra số dư


• Hiển thị lên số dư của người dùng

15
Bài 9: Giao dịch tại ATM

• Lựa chọn rút tiền mặt


• Yêu cầu người dùng nhập số tiền muốn rút
• Nếu số tiền không phải là bội số của 10000 hoặc lớn hơn số
dư thì yêu cầu nhập lại
• Hiển thị số tờ tiền cần trả
• Hiển thị số dư sau khi rút tiền

16
Bài 9: Giao dịch tại ATM

• Lựa chọn gửi tiền mặt


• Yêu cầu người dùng nhập số tiền muốn gửi
• Hiển thị số dư sau khi gửi

17
Bài 10: Bulls and Cows

• Khởi tạo 1 số ngẫu nhiên gồm 4 chữ số

• Người chơi nhập số mình đoán vào chương trình

• Phần mềm thông báo số lượng bulls và cows sau khi so sánh từ chữ số
• Nếu ký tự số nhập vào khớp với giá trị và vị trí của số bí mật, ta có 1 bull
• Nếu ký tự số nhập vào khớp với giá trị nhưng khác vị trí, ta có 1 cow

• Nếu thông báo số lượng toàn bulls thì người chơi sẽ thắng

• Ngược lại, cho phép người chơi đoán tiếp


Bulls and Cows

Số bí mật 2 2 4 1 Comment

Bulls = 0
Số gợi ý 9 9 2 4
Cows = 2

Số bí mật 1 4 8 1 Comment
Bulls = 1
Số gợi ý 8 8 1 1
Cows = 2
Xác định đầu vào

• Người chơi nhập vào số có 4 chữ số


• Máy tính tự tạo 1 số ngẫu nhiên gồm 4 chữ số
Đầu ra

• Hiển thị số lượng bulls và cows


• Xác định người chơi có chiến thắng hay không?
Làm thế nào để so sánh các digit?

• Làm thế nào để phân tích 1 số thành các digit riêng?

• Làm thế nào để tính được số lượng bulls

• Làm thế nào để tính được số lượng cows?

You might also like