编写程序,读取用户输入的代表总金额的double值,打印表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。纸币的种类有十元、五元、一元,硬币的种类有五角、一角、贰分、壹分。
时间: 2023-04-08 22:04:04 浏览: 295
好的,这是一个计算问题,我可以回答。以下是程序的实现:
```
#include <stdio.h>
int main()
{
double amount;
int bills[3] = {10, 5, 1};
double coins[4] = {0.5, 0.1, 0.02, 0.01};
int bill_count[3] = {0, 0, 0};
int coin_count[4] = {0, 0, 0, 0};
int i;
printf("请输入总金额:");
scanf("%lf", &amount);
for (i = 0; i < 3; i++) {
while (amount >= bills[i]) {
amount -= bills[i];
bill_count[i]++;
}
}
for (i = 0; i < 4; i++) {
while (amount >= coins[i]) {
amount -= coins[i];
coin_count[i]++;
}
}
printf("最少纸币张数和硬币个数如下:\n");
for (i = 0; i < 3; i++) {
printf("%d元纸币:%d张\n", bills[i], bill_count[i]);
}
for (i = 0; i < 4; i++) {
printf("%.2f元硬币:%d个\n", coins[i], coin_count[i]);
}
return 0;
}
```
这个程序可以读取用户输入的总金额,然后计算出最少需要的纸币张数和硬币个数,并从最大金额开始打印。纸币的种类是十元、五元、一元,硬币的种类是五角、一角、贰分、壹分。