编写程序,读取用户输入的代表总金额的double值,打印表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。纸币的种类有十元、五元、一元,硬币的种类有五角、一角、贰分、壹分。
时间: 2023-03-30 13:03:43 浏览: 65
您好,根据您的要求,我可以回答您的问题。以下是程序的实现:
#include <stdio.h>
int main() {
double amount;
int yuan, jiao, fen;
int ten, five, one, fifty, ten_cents, two_cents, one_cent;
printf("请输入总金额:");
scanf("%lf", &amount);
// 将金额转换为分
fen = (int)(amount * 100 + .5);
// 计算纸币和硬币的数量
ten = fen / 100;
five = (fen % 100) / 500;
one = (fen % 500) / 100;
fifty = (fen % 100) / 50;
ten_cents = (fen % 50) / 10;
two_cents = (fen % 10) / 2;
one_cent = fen % 2;
// 打印结果
printf("最少纸币张数和硬币个数如下:\n");
printf("十元:%d 张\n", ten);
printf("五元:%d 张\n", five);
printf("一元:%d 张\n", one);
printf("五角:%d 个\n", fifty);
printf("一角:%d 个\n", ten_cents);
printf("贰分:%d 个\n", two_cents);
printf("壹分:%d 个\n", one_cent);
return ;
}
希望对您有所帮助。