1 #include2 3 int func(int *coin,int m)//返回的是计算完当前面值硬币需要多少张之后抛去,还剩多少钱。 4 { 5 /*//写法1: 6 if(*coin == 10) 7 { 8 printf("%d need: %d\n",*coin,m/(*coin)); 9 return m%(*coin);10 }11 else12 {13 m = func(coin+1,m);14 printf("%d need: %d\n",*coin, m/(*coin) );15 return m%(*coin);16 }17 */18 19 if(*coin != 10)20 m = func(coin+1,m);21 printf("%d need: %d\n",*coin,m/(*coin));22 return m%(*coin);23 }24 25 int main(void)26 {27 int coin[4] = { 1,2,5,10};//使用数组存储四种面值28 func(coin,368);29 30 return 0;31 }