编写程序从键盘上输入一个指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张,要求钱的张数最少。用c语言编程
时间: 2023-12-28 15:19:06 浏览: 65
好的,针对您的问题,我可以提供一份c语言代码,实现您的需求。请看下面代码:
```
#include <stdio.h>
int main()
{
float money;
int n100, n50, n10, n5, n2, n1, n05, n01, n001;
printf("请输入支付金额:");
scanf("%f", &money);
int total = (int)(money * 100 + 0.5); // 将金额转换为以分为单位的整数
n100 = total / 10000; total %= 10000;
n50 = total / 5000; total %= 5000;
n10 = total / 1000; total %= 1000;
n5 = total / 500; total %= 500;
n2 = total / 200; total %= 200;
n1 = total / 100; total %= 100;
n05 = total / 5; total %= 5;
n01 = total;
n001 = total * 10;
printf("100元:%d张\n50元:%d张\n10元:%d张\n5元:%d张\n2元:%d张\n1元:%d张\n5角:%d张\n1角:%d张\n1分:%d张\n", n100, n50, n10, n5, n2, n1, n05, n01, n001);
return 0;
}
```
这个程序会读入用户从键盘输入的金额,并计算出付款所需各种面额的纸币和硬币的数量,并输出结果。我相信这个应该是符合您的需求的。