[討論] 換零錢程式
問題:寫出一模擬換零錢程式
(1)只接受紙鈔(100,200,500,1000元)
(2)可選擇零錢面額(1元,5元,10元,50元)及個數
(3)剩下金額以最少的零錢數找出(假設要以100元換10個一元,
結果會出來10個一元以及9個十元)
程式:
#include<stdio.h>
#include<stdlib.h>
void cash(int);
void charge(int ,int,int,int);
int main(void){
int money;
printf("input money style(1)100 (2)200 (3)500 (4)1000\n");//輸入金額
scanf("%d",&money);
cash(money);
return 0;
}
void cash(int money){
int x,y,change;
if (money<1 || money>4)//輸入金額模式
printf("only accept banknote\n");
else{
printf("please chose change money\n");//換錢模式
printf("(1)一元(2)五元(3)十元(4)五十元\n");
scanf("%d",&x);
if (x<1 || x>4){
printf("請輸入正確幣值\n");//超過金額重新輸入
cash(money);
}else {
printf("what several do u want\n");
scanf("%d",&y);//y為換幾枚
switch(x){
case 1:
change=1*y;
break;
case 2:
change=5*y;
break;
case 3:
change=10*y;
break;
case 4:
change=50*y;
break;
}
printf("換了%d元%d枚",change/y,y);
charge(x,y,money,change);
}
}
}
void charge(int x,int y,int money,int change){
int z,one,five,ten;
switch (money)
{
case 1:
money=100;
break;
case 2:
money=200;
break;
case 3:
money=500;
break;
case 4:
money=1000;
break;
}
z=money-change;
ten=(z-z%10);
five=(z-ten)-((z-ten)%5);
one=(z-ten)%5;
printf("共找你%d元\n",z);
printf("十元%d枚,五元%d枚,一元%d枚\n",ten/10,five/5,one);
}
上面程式為我自己寫的
(1)不知道是否有更精簡或更高級的寫法
(2)不知程式是否有bug
請指教 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.101.8.91
推
04/06 14:06, , 1F
04/06 14:06, 1F
→
04/06 14:09, , 2F
04/06 14:09, 2F
推
04/06 14:23, , 3F
04/06 14:23, 3F
推
04/07 02:37, , 4F
04/07 02:37, 4F
→
04/07 02:37, , 5F
04/07 02:37, 5F
→
04/07 02:38, , 6F
04/07 02:38, 6F
→
04/07 02:39, , 7F
04/07 02:39, 7F
→
04/07 02:39, , 8F
04/07 02:39, 8F
→
04/07 02:40, , 9F
04/07 02:40, 9F
→
04/07 02:40, , 10F
04/07 02:40, 10F
推
04/07 02:44, , 11F
04/07 02:44, 11F
→
04/07 02:44, , 12F
04/07 02:44, 12F
→
04/07 02:45, , 13F
04/07 02:45, 13F
推
04/07 03:09, , 14F
04/07 03:09, 14F
→
04/07 03:09, , 15F
04/07 03:09, 15F
→
04/07 03:10, , 16F
04/07 03:10, 16F
→
04/07 03:10, , 17F
04/07 03:10, 17F
推
04/07 09:47, , 18F
04/07 09:47, 18F
→
04/07 09:48, , 19F
04/07 09:48, 19F
→
04/07 18:11, , 20F
04/07 18:11, 20F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章