【发布时间】:2025-12-25 23:25:11
【问题描述】:
我无法在我的 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
知道我做错了什么吗?
【问题讨论】:
-
你将
c声明为int c = 0吗? -
等一下,你是在初始化 b = 0 和 c = 0 吗?我没有看到这些计数变量的任何初始化。其次,您没有指定 20 美元钞票示例的输入内容。
-
顺便说一下,请阅读:minimal reproducible example。将帮助您解决下一个问题。