1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。 输入格式: 输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。 输出格式: 显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。 注意:如果全部方案不到n种,就顺序输出全部可能的方案。C语言
时间: 2023-05-25 07:07:09 浏览: 116
#include<stdio.h>
int main()
{
int n,num=0;
scanf("%d",&n);
for(int i=0;i<=20;i++) //5毛最多20个
{
for(int j=0;j<=50;j++) //5分最多50个
{
for(int k=0;k<=125;k++) //2分最多125个
{
if(i*5+j*1+k*0.5<=20) //1元5角硬币最多20个
{
if(i*5+j*1+k*0.5<=j+2*k+5*(n-1)) //只输出前n种
{
printf("%d %d %d\n",i,j,k);
num++;
if(num==n){goto end;} //跳出多重循环
}
}
}
}
}
end:return 0;
}
相关问题
有一个饮料自动售货机,处理单价为5角钱c语言
以下是一个简单的C语言程序,模拟饮料自动售货机的功能,处理单价为5角钱:
```
#include <stdio.h>
int main()
{
int balance, choice;
printf("请选择您要购买的饮料:\n");
printf("1. 可乐(0.5元)\n");
printf("2. 矿泉水(0.5元)\n");
printf("3. 果汁(0.5元)\n");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("您选择了可乐!\n");
break;
case 2:
printf("您选择了矿泉水!\n");
break;
case 3:
printf("您选择了果汁!\n");
break;
default:
printf("您的选择无效!\n");
return 0;
}
printf("请投入0.5元硬币:\n");
scanf("%d", &balance);
if (balance == 5) {
printf("购买成功,谢谢惠顾!\n");
} else if (balance > 5) {
printf("购买成功,找您%d角!\n", balance - 5);
} else {
printf("余额不足,请投入0.5元硬币!\n");
}
return 0;
}
```
程序会先输出菜单,让用户选择要购买的饮料。然后让用户投入0.5元硬币,如果投入的金额不足,程序会要求用户继续投币;如果投入的金额超过了0.5元,程序会找零并输出购买成功的信息。
产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。因果图
```mermaid
graph TD
硬币-->检查硬币
检查硬币-->|1元5角|选择饮料
检查硬币-->|2元|退还5角
选择饮料-->|可乐|出货
选择饮料-->|雪碧|出货
选择饮料-->|红茶|出货
出货-->找零
退还5角-->找零
找零-->结束
```
--相关问题--:
1. 如何实现自动售货机的硬币找零功能?
2. 如何在自