01/10/2018, 11:27
Cần giúp để có cách giải ngắn gọn hơn C++
Nhập vào một số tiền nguyên dương. Đổi số tiền này ra các tờ giấy bạc 50đ, 20đ, 10đ, 5đ và
1đ. Với giả thiết ưu tiên cho tờ có mệnh giá lớn hơn, hãy in ra xem đổi được bao nhiêu tờ
mỗi loại .
Đây là code của em ( đừng chủi em gà code dài dòng vì em ms là tân sinh viên thôi )
#include <iostream>
using namespace std;
void main() {
int tien, soto50, soto20, soto10, soto5, soto1, tienconlai, tienconlai2, tienconlai3, tienconlai4;
cout << "nhap so tien";
cin >> tien;
soto50 = tien / 50;
tienconlai = tien - (soto50 * 50);
if (tienconlai < 5) {
soto1 = tienconlai / 1;
}
if (tienconlai < 10) {
soto5 = tienconlai / 5;
tienconlai2 = tienconlai - (soto5 * 5);
if (tienconlai2 < 5) {
soto1 = tienconlai2 / 1;
}
}
if (tienconlai < 20) {
soto10 = tienconlai / 10;
tienconlai2 = tienconlai - (soto10 * 10);
if (tienconlai2 < 10) {
soto5 = tienconlai2 / 5;
tienconlai3 = tienconlai2 - (soto5 * 5);
if (tienconlai3 < 5) {
soto1 = tienconlai3 / 1;
}
}
}
if (tienconlai < 50) {
soto20 = tienconlai / 20;
tienconlai2 = tienconlai - (soto20 * 20);
if (tienconlai2 < 20) {
soto10 = tienconlai2 / 10;
tienconlai3 = tienconlai2 - (soto10 * 10);
if (tienconlai3 < 10) {
soto5 = tienconlai3 / 5;
tienconlai4 = tienconlai3 - (soto5 * 5);
if (tienconlai4 < 5) {
soto1 = tienconlai4 / 1;
}
}
}
}
cout << "so to 50vnd :" << soto50 << endl;
cout << "so to 20vnd :" << soto20 << endl;
cout << "so to 10vnd :" << soto10 << endl;
cout << "so to 5vnd :" << soto5 << endl;
cout << "so to 1vnd :" << soto1 << endl;
system("pause");
}
Bài liên quan
Dùng mảng rồi chạy for
em code ngắn lại đc rồi thank a