用一分,两分,五分硬币凑出money(分),要求用的硬币数最少

img


用一分,两分,五分硬币凑出money(分),要求用的硬币数最少 。这是有什么问题啊,谢谢大家了


int main(void)
{
    int one, two, five, money;
    scanf("%d", &money);
    five = money / 5;
    money %= 5;
    two = money / 2;
    money %= 2;
    one = money;
    printf("%d %d %d\n", one, two, five);

    return 0;
}

供参考:

#include<stdio.h>
#include<string.h>
int main()
{
    int M[3] = { 5,2,1 }, N, b[3] = { 0 }, i;
    while (scanf("%d", &N) == 1 && N != 0)//输入金额为0时,结束输入
    {
        for (i = 0, memset(b, 0, sizeof(b)); N != 0; i++)
        {
            b[i] = N / M[i];//从5分面额开始,将商对应存入数组b[i]。
            N %= M[i];   //除以5,得到余数
        }
        printf("%d分*%d个+%d分*%d个+%d分*%d个 = %d个\n", 
            M[0], b[0], M[1], b[1], M[2], b[2], b[0] + b[1] + b[2]);//输出
    }
    return 0;
}

prinft输出普通变量 不需要&符号

我自己发现问题了,是

img


箭头处money应该改为相应的金额。!