gpt4 book ai didi

c - 如何将此函数转换为更好的函数(例如循环)?

转载 作者:行者123 更新时间:2023-11-30 19:27:23 24 4
gpt4 key购买 nike

所以我的问题在 problem set 1 CS50 哈佛类(class)第一周。该任务是编写一个程序,计算找零时可能的最小硬币数量。我已经编写了该程序并且它可以工作,但我想知道你们是否可以告诉我如何进一步改进我计算硬币数量的功能。它基本上是将相同的代码行复制并粘贴 4 次,只是更改其中的硬币值 (25, 10, 5, 1)。任何人都可以帮助我将其转换为某种循环,因为虽然复制和粘贴有效,但对我来说看起来有点糟糕。

int calculate_coins(int change)
{
//Count coins from 0
int n = 0;

//How much 25s can be used?
n += change / 25;
//Calculate remaining change
change %= 25;

n += change / 10;
change %= 10;

n += change / 5;
change %= 5;

n += change / 1;
change %= 1;

return n;
}

最佳答案

我会将数组设置为全局数组,以防我想在其他地方使用它。除此之外我同意。

int value[] = { 25, 10, 5, 1 }; //global array

int calculate_coins(int change)
{
for (int i = 0; i < 4; i++)
{
n += change / value[i];
change %= value[i];
}

return n;
}

关于c - 如何将此函数转换为更好的函数(例如循环)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785038/

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