昨天晚上睡觉前又想了想 感觉这个题还有很多值得做的地方
以一角找零做这道题有点白瞎了
大家想想要是1000.00元找成5元2元1元的找发怎么做(当然要强调效率)
或者是任意钱数又怎么做
#define NUM 100
int GiveChange(int num5,int num2,int num1)
{
long sum=0;
while(num5>0)
{
num5--;
num2+=2;
num1++;
sum++;
printf("%d*5+%d*2+%d*1\n",num5,num2,num1);
}
while(num2>0)
{
num2--;
num1+=2;
sum++;
printf("%d*5+%d*2+%d*1\n",num5,num2,num1);
}
printf("sum=%ld ",sum);
return 1;
}
main()
{
int num=NUM;
printf("Input Money:");
scanf("%d",&num);
GiveChange(num/5,num%5/2,num%5%2);
getch();
}
这是我做的一个
这样直接就能得到找零方案
#define NUM 100
int GiveChange(int num5,int num2,int num1)
{
long sum=0;
while(num5>0)
{
num5--;
num2+=2;
num1++;
sum++;
printf("%d*5+%d*2+%d*1\n",num5,num2,num1);
}
while(num2>0)
{
num2--;
num1+=2;
sum++;
printf("%d*5+%d*2+%d*1\n",num5,num2,num1);
}
printf("sum=%ld ",sum);
return 1;
}
main()
{
int num=NUM;
printf("Input Money:");
scanf("%d",&num);
GiveChange(num/5,num%5/2,num%5%2);
getch();
}
这是我做的一个
这样直接就能得到找零方案
错误的.那while循环根本就不对.
真不懂你是怎么想的.