我在for循环中无法显示正确的计数。它适用于我以前的代码,但是当我使用此代码时,计数太大。我正在尝试做的事情是让我的for循环计数输入的数字并在每次运行时减去该数字。例如:
当我使用此代码输入50时:
double change; //input variable for change
cin >> change;
//for loop for 50 dollar bills
for (int fif = change; fif >= 50; fif -=50)
{
b++; //this is the count variable
change = fif - 50;
}
if (b == 1)
cout << b << " $50 bill\n";
else
cout <<"";
cout << change; //output the change variable after loop
结果将输出:
1 50 dollar bill
0.00
但是当我更改数字以匹配20美元的钞票时,我的代码如下所示:
//for loop for twenty dollar bills
for (int twen = change; twen <= 40 && twen >=20 ; twen -=20)
{
c++; //count variable
change = twen - 20;
}
if (c == 1)
cout << c << " $20 dollar bill\n";
else if (c > 1)
cout << c << " $20 dollar bills\n";
else
cout << "";
cout << change;
并且输出编号始终随输出计数而变化。例如,如果我输入40:
32661 $20 dollar bills
0.00
关于我在做什么错的任何想法?
似乎您的计数变量未初始化。变量可以从0开始运气(运气好坏取决于您的态度)。或者它们可以从看似随机的值开始。无论如何,您都不能依赖int
变量的初始值。