gpt4 book ai didi

c 输入金额的最少硬币数量

转载 作者:行者123 更新时间:2023-11-30 15:12:37 24 4
gpt4 key购买 nike

所以我是个新手,尝试编写一个程序来获取金额 $XX.XX 的输入,然后显示达到该金额的最少硬币数量。我编写了一个可以运行的程序,但在进行一些计算时(例如 13.49 时),它经常会差一分钱,但我不明白为什么。

    #include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
int StayOn = 1;
while (StayOn == 1)
{
int x = 0;
float MoneyStart = 0, RemainingMoney = 0;
char cName[6][8] = {"Toonie", "Loonie", "Quarter", "Dime", "Nickel", "Penny"};
float cValue[6] = {2.00, 1.00, 0.25, 0.10, 0.05, 0.01};
int cCount[6] = {0, 0, 0, 0, 0, 0};

printf("Please Enter Amount: $");
scanf("%f", &MoneyStart);
getchar();

RemainingMoney = MoneyStart;

for (x = 0; x < 6; x++)
{
cCount[x] = (RemainingMoney / cValue[x]);
RemainingMoney = fmod(RemainingMoney, cValue[x]);
printf("%8s - %3i = $%.2f\n", cName[x], cCount[x], (cValue[x]*cCount[x]));
}
}
}

最佳答案

由于计算中的累积舍入误差而关闭。

您可以使用double 来获得更高的精度。

参见约阿希姆评论:c least amount of coins for amount entered

关于c 输入金额的最少硬币数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34968326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com