我有一个任务,要求我们编码一个自动转换程序,一美元的输入高达200.00美元。基本上,有人输入一个数量,然后输出显示该数量在以下不同面额(20、10、5、1、25、10、5和1)中的变化。
我已经为每种面值的if/else语句找到了一种方法(见下文),但是我想知道是否有一种更简单、更简洁的方法来使用循环执行它?(这是一门入门课程,所以我们还没有学习函数/数组等。)
int twenties; int tens;
int fives;
int ones;
int quarter;
int dime;
int nickel;
int penny;
double dollar_ent;
printf("Please enter a dollar amount up to 100: ");
scanf("%lf", &dollar_ent);
printf("Name - Assignment 2 - Change-O-Matic\n\n");
printf("Amount entered: $%.2lf\n\n", dollar_ent);
twenties = (dollar_ent / 20);
if (twenties >=2)
printf("%.0d\t$20.00's\n", twenties);
if (twenties == 1)
printf("%.0d\t$20.00\n", twenties);
else
printf("");
谢谢!
最佳答案
你把金额换算成美分会容易些。
然后你会得到一个20000美元(200美元)的整数。
有一系列可能的面额:
int denominations[] = { 2000, 1000, 500, 100, 25, 10, 5, 1}.
然后遍历这个数组。
将当前金额除以当前面额,然后从当前金额中减去。计算除法的其余部分,并将其设置为当前和,然后移动到下一个面额…依此类推。。。
关于c - C语言美元兑换程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22026307/