CSUST 1530 快速找钱

欢迎来到CSUST Online Judge System

1530: 快速找钱

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 5  Solved: 3

Description

老王的杂货店雇用了一个便宜的伙计来看店子.他雇用的伙计(通常是高中生)经常在找钱的时候出错.吝啬的老王认为由于伙计的错误造成的经济损失比他自己的错误造成的经济损失大,也就是伙计容易找更多的零钱给顾客.

老王想让你写一个程序计算一个顾客能得到的零钱.零钱由0.25美圆硬币,0.1美圆硬币,0.05美圆硬币和0.01美圆硬币组成.当顾客的零钱小于5美圆时,希望给顾客硬币,并且硬币的总数最少.比如如果零钱为1.24美圆,顾客应该得到4个0.25硬币,2个0.1硬币,0个0.05硬币,4个0.01硬币.

Input

第一行包含一个整数N,表示测试用例个数.每一个测试用例占一行,包含一个整数C,表示顾客应得到的零钱(单位:美分)(1<=C<=500).

Output

对每一个测试用例,输出测试用例号,空格和字符串

Q QUARTER(S) ,D DIME(S), n NICKEL(S), P PENNY(S)

其中Q是0.25美圆硬币的个数,D是0.1美圆硬币的个数,n是0.05美圆的硬币的个数,P是0.01美圆硬币的个数.

Sample Input

312425194

Sample Output

1 4 QUARTER(S), 2 DIME(S), 0 NICKEL(S), 4 PENNY(S)2 1 QUARTER(S), 0 DIME(S), 0 NICKEL(S), 0 PENNY(S)3 7 QUARTER(S), 1 DIME(S), 1 NICKEL(S), 4 PENNY(S)

HINT

Source


签到题,不解释

Accepted
916
0
C++/Edit 719 B 2013-05-08 20:00:49

#include<stdio.h>
int main()
{
    int n;
    int total;
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
    {
        int q, d, n, p;
        q = d = n = p = 0;
        scanf("%d", &total);
        if(total >= 25)
        {
            q = total/25;
            total = total - q*25;
        }
        if(total >= 10)
        {
            d = total/10;
            total -= d*10;
        }
        if(total >= 5)
        {
            n = total/5;
            total -= n*5;
        }
        p = total;
        printf("%d %d QUARTER(S), %d DIME(S), %d NICKEL(S), %d PENNY(S)\n",i,q,d,n,p);
    }
    return 0;
}


原文地址:https://www.cnblogs.com/freezhan/p/3219064.html