【发布时间】:2015-02-20 21:57:08
【问题描述】:
我已尽我所能完成程序中的所有事情,但我无法让它告诉我对于所有硬币值它保持在 0 的适当零钱数量。
当输入的项目数量为0时,我将如何打破无限循环,
#include <stdio.h>
#include <math.h>
int main(void)
{
//variables used
int penny = 0;
int nickel = 0;
int dime = 0;
int quarter = 0;
int items = 0.0;
double paid= 0.0;
double total = 0.0;
double price =0.0;
double change = 0.0;
int counter =0;
for (;;)
{
printf("Please enter the number of grocery items:");
scanf("%d", &items);
for (counter = 1; counter <= items; counter++)
{
printf("Please enter the price for item #%d:", counter);
scanf("%f", &price);
total += price;
}
printf("Please enter amount payed:");
scanf("%f", &paid);
change = paid - total;
while (change > 0)
{
if (change >= .25)
{
change = change - .25;
quarter = quarter + 1;
}
else if (change >= .1)
{
change = change - .1;
dime = dime + 1;
}
else if (change >= .05)
{
change = change - .05;
nickel = nickel + 1;
}
else if (change >= .01)
{
change = change - .01;
penny = penny + 1;
}
}
printf("this is your change %d quarters, %d dimes, %d nickels, %d pennies.\n", quarter, dime, nickel, penny);
}
}
【问题讨论】: