我是编程新手。我一直在努力创造一种东西,它能给我一个特定金额的美元所需的最小金额的美分硬币。例如,16美分所需的最低硬币数量将3 (10 5 1)
#include <stdio.h>
#include <cs50.h>
#include <math.h>
float get_positive_change(void);
int main (void)
{ //Get owed dollar amount
float change = get_positive_change();
//Round float to int
int cents = round(change*100);
//Initialize counter for coins needed)
for(int i = 0; cents < 0; i++)
{
if(cents >= 25)
{
cents = cents - 25;
}
else if(cents >= 10)
{
cents = cents - 10;
}
else if(cents >= 5)
{
cents = cents - 5;
}
else if(cents >= 1)
{
cents = cents - 1;
}
return cents;
return i;
}
printf("%d\n", i);
}
float get_positive_change(void)
{
float n;
do
{
n = get_float("Change owed: ");
}
while (n < 1); //Express need for number to be < 1
return n;
}
我确实意识到“int i”不存在于该函数之外,所以,我想知道如何解决这个问题。此外,我还不确定返回是如何工作的,我试图四处玩耍,看看它是否工作。任何对改进代码行的帮助都将得到充分的评价。我已经试着解决这个问题一段时间了。祝你们有美好的一天
我将用C语言编写它,因为我已经用C语言做了更多的工作,但是你可以很容易地将printf和输入转换成C语言
//inside of main
int pennies = 0, nickels = 0, dimes = 0, quarters = 0;
int coinCounter = 0;
int amount = 0;
cout << "input the change you have in cents";
cin >> amount;
while(amount > 0)
{
if(amount >= 25){
quarters++;
amount -= 25;
}
else if(amount >= 10) {
dimes++;
amount -= 10;
}
else if(amount >= 5) {
nickels++;
amount -= 5;
}
else { //the only coin left would be pennies
pennies++
amount -= 1;
}
coinCounter++;
}
cout << "You have " + coinCounter + " coins\n";
cout << "You have " + quarters + " quarters\n";
cout << "You have " + dimes + " dimes\n";
cout << "You have " + nickels + " nickels\n";
cout << "You have " + pennies + " pennies\n";
在这种情况下,我使用了一个while循环,因为我们不知道投入的金额能赚多少钱。您不应该在main中使用returns,因为这样会退出main。而且,如果我可以在main中作为一行执行输入语句,我就不会在函数中有一个输入语句。在你的旅途中的这一点上,你不值得如此恼怒。您应该学习如何使用函数,但有时使用简单的html" target="_blank">方法更容易。当你在做其他事情之前先开始计算,然后使用一个函数。我知道确保用户不破坏程序是很重要的,但这可能是目前的主要问题。
你必须做更多的事情来做正确的事情,但是我希望我帮助刺激了你的大脑。
另外,我不记得“for循环”实际上是函数还是语句,或者两者都不是。
for
是一个语句。函数是一个命名例程,定义如下:
类型名称(参数声明…){语句和声明…}
。
(旧的C代码中还有其他形式的函数定义。您不应该使用它们。)
我确实意识到“inti”不存在于该函数之外,所以,我想知道如何修复它。
将int i
移到for
语句之外。将其放在for语句的前面。您仍然可以在
for
语句中初始化i
:
int i;
for (i = 0; 0 < cents; ++i)
{
…
}
这也纠正了终止条件。你有
美分
另外,我还不确定return是如何工作的,…
return
终止当前函数的执行。在调用当前函数的函数中继续执行。带有值的return
将该值作为函数调用的值提供给调用函数。对于main
,返回值提供程序的状态值。返回非零值可能会导致警告消息,表明程序未成功完成。
您不希望通过在主代码中使用返回返回计算结果。相反,您可能希望使用
printf
语句打印它们。有关程序应该如何提供其结果的信息,请参阅作业文本。
此代码无法工作:
return cents;
return i;
因为第一个
return
终止了main
的执行,所以第二个return
永远不会执行。
get\u positive\u change
中的此代码错误:
while (n < 1); //Express need for number to be < 1
因为
n
可能是小于1的正金额,例如(大约).16美元兑换16美分。您需要while(n
我在日语语法方面遇到了很大的麻烦。我有一个小的代币字典的单词,需要与5种类型的文档匹配。一种类型一个字典:例如Job,该人员的字典将包含。我需要读这本字典,为它创造一个JAPE规则。这是我第一次尝试 Phase:JobTitle 输入:查找 选项:control=appelt、debug=true 有没有办法自动创建JAPE规则,只用于在字典中搜索到文档的标记?
问题内容: 有一个普通的Java API的JavaDoc,有英文版和中文版,但似乎每个版本都需要单独的源代码。还有其他更方便的方法吗? 问题答案: 不,基本上没有办法。 想到的唯一变通方法适用于生成的HTML页面:您可以将JavaDocs包围在使用CSS在语言之间切换的块元素中。考虑: 随后编辑JavaDocs的CSS,以便用户可以切换语言,例如:
本文向大家介绍Objective-C语言创建数组,包括了Objective-C语言创建数组的使用技巧和注意事项,需要的朋友参考一下 示例 创建不可变数组: 有关可变数组,请参见NSMutableArray。
本文向大家介绍如何在C#中创建StringBuilder?,包括了如何在C#中创建StringBuilder?的使用技巧和注意事项,需要的朋友参考一下 要在C#中创建StringBuilder,代码如下- 示例 输出结果 这将产生以下输出- 示例 让我们看另一个例子- 输出结果 这将产生以下输出-
本文向大家介绍Objective-C语言创建基本方法,包括了Objective-C语言创建基本方法的使用技巧和注意事项,需要的朋友参考一下 示例 这是如何创建将“ Hello World”记录到控制台的基本方法: 的-开头表示该方法作为一个实例方法。 该(void)表示的返回类型。此方法不返回任何内容,因此您输入void。 “ hello”是方法的名称。 {}调用方法时,代码中的所有内容都会运行。
本文向大家介绍C语言创建字符串数组,包括了C语言创建字符串数组的使用技巧和注意事项,需要的朋友参考一下 例子 字符串数组可能意味着两件事: 元素为char *s的数组 其元素的数组的数组char小号 我们可以像这样创建一个字符指针数组: 请记住:当我们将字符串文字分配给时char *,字符串本身将分配在只读内存中。但是,该数组string_array分配在读/写内存中。这意味着我们可以修改数组中的