1 #include 2 #include 3 4 void CalcChangeFor(int pence) 5 { 6 int i, j, val; 7 int coins[] = { 500,200,100,50,20,10,5,2,1,}; 8 9 if (pence == 0) 10 return; /* amount is exact */ 11 if (pence < 0) 12 return; /* invalid amount */ 13 14 for(i=0;i0;j--) 17 if (val*j <= pence) { 18 printf("%d x %dp\n", j, val); 19 CalcChangeFor(pence - j*val); 20 return; 21 } 22 } 23 } 24 25 void usage(void) 26 { 27 fprintf(stderr, "Usage: change \n"); 28 } 29 30 int main(int argc, char **argv) 31 { 32 if (argc > 1) 33 CalcChangeFor(atoi(argv[1])); 34 else 35 usage(); 36 return 0; 37 }