1 #include <stdio.h> 2 3 int func(int *coin,int m)//返回的是计算完当前面值硬币需要多少张之后抛去,还剩多少钱。 4 { 5 /*//写法1: 6 if(*coin == 10) 7 { 8 printf("%d need: %d ",*coin,m/(*coin)); 9 return m%(*coin); 10 } 11 else 12 { 13 m = func(coin+1,m); 14 printf("%d need: %d ",*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 ",*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 }