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");

	}
rogp10 viết 13:30 ngày 01/10/2018

Dùng mảng rồi chạy for

Nhat Minh viết 13:42 ngày 01/10/2018

em code ngắn lại đc rồi thank a

Bài liên quan
0