我试图写一个程序,要求用户输入硬币的数量,用户有,然后输出总金额的用户有。所以用户只有一角硬币,五分镍币,一分硬币和四分之一硬币。用户输入每个面额的硬币数量后,程序应输出总金额。
#include "Coins Project.h"
#include <stdio.h>
int change(float total, int *quarters, int *dimes, int *nickels, int
*pennies);
void print(float total, int quarters, int dimes, int nickels, int
pennies);
int main(void)
{
int quarters, dimes, nickels, pennies;
float total;
total = 1.88;
change(total, &quarters, &dimes, &nickels, &pennies);
print(total, quarters, dimes, nickels, pennies);
total = 0.32;
change(total, &quarters, &dimes, &nickels, &pennies);
print(total, quarters, dimes, nickels, pennies);
printf("\nPlease enter an amount of money: \n");
scanf("%f", &total);
change(total, &quarters, &dimes, &nickels, &pennies);
print(total, quarters, dimes, nickels, pennies);
return 0;
}
int change(float total, int *quarters, int *dimes, int *nickels, int
*pennies)
{
if( total >= 0.25 )
*quarters = (total / 0.25);
if( total >= 0.10 )
*dimes = (total - (*quarters * 0.25)) / 0.10;
if( total >= 0.05 )
*nickels = (total - (*quarters * 0.25) - (*dimes * 0.10)) /
0.05;
if( total >= 0.01 )
*pennies = (total - (*quarters * 0.25) - (*dimes * 0.10) -
(*nickels * 0.05)) / 0.01 + .005;
return 0;
}
void print(float total, int quarters, int dimes, int nickels, int
pennies)
{
printf("\nTOTAL VALUE ENTERED: $%.2f", total);
printf("\n%3d quarters\n", quarters);
printf("\n%3d dimes\n", dimes);
printf("\n%3d nickels\n", nickels);
printf("\n%3d pennies\n", pennies);
}
该代码应适用于用户输入的任何硬币,并应在最后显示总数。
最佳答案
如果您只想一次性给程序提供硬币的数量,您可以这样做:
scanf("%d %d %d %d", &quarters, &dimes, &nickels, &pennies);
关于c - 如何用C编写程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58437588/