EOJ2968-付钱

题目

李奶奶年纪大了算术不太好了,每次买东西想不清要怎么付钱,请你写一个程序帮助李奶奶。对于每一个金额(以元为单位的整数,如 412 元), 显示支付这个金额的各种面额人民币的数量,要求从最大面额的人民币给起,直到最小面额的人民币,即 100 元、50 元、20 元、10 元、5 元、1 元各多少数量。

输入格式

第 1 行:整数 T (1≤T≤10) 为问题数
第 2 ∽ T+1 行:每一个问题中的金额 n (0⩽n⩽10000)。

输出格式

对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等),然后在一行中输出 100 元、50 元、20 元、10 元、5 元、1 元各多少数量,用空格分隔,最后一个数没有空格。

样例

input
4
0
68
78
10

output
case #0:
0 0 0 0 0 0
case #1:
0 1 0 1 1 3
case #2:
0 1 1 0 1 3
case #3:
0 0 0 1 0 0

code

#include <iostream>
using namespace std;


int main() {
	int N;
	int a[6];
	int b[6] = { 100,50,20,10,5,1 };
	int money;
	cin >> N;
	for (int i = 0; i < N; i++)
	{
		
		cin >> money;

		a[0] = money / b[0];
		for (int j = 1; j < 6; j++) {
			money -= a[j - 1] * b[j - 1];
			a[j] = money / b[j];
		}

		cout << "case #" << i << ":" << endl;
		for (int j = 0; j < 6; j++)
			cout << a[j] << " ";
		cout << endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/Caiyii530/article/details/105207266
今日推荐