#include <stdio.h>
struct item{
char name[50];
int price;
};
void makingChange(struct item changeRange[], int length, int sum){
int array[length];
for(int i = 0; i < length; i++){
array[i] = 0;
}
int i = 0;
printf("应找零%d分", sum);
while(sum > 0){
if(sum >= changeRange[i].price){
sum = sum - changeRange[i].price;
array[i] = array[i] + 1;
continue;
}
i++;
}
printf("\n共找零:", sum);
for(int i = 0; i < length; i++){
printf("\n%d个%s", array[i], changeRange[i].name);
}
}
int main () {
struct item changeRange[] = {{"二角五分硬币", 25}, {"一角硬币", 10}, {"五分硬币", 5}, {"一分硬币", 1}};
int length = sizeof(changeRange) / sizeof(changeRange[0]);
int sum = 48;
makingChange(changeRange, length, sum);
return 0;
}