每种币值有没有至少一张的要求?
那要 a<=100 不能写为 a<=99
张数和到至少14张写法:第9行写为:
if (a+10*b+20*c==100 && a+b+c>=14)
供参考:
#include<stdio.h>
#include<string.h>
int main()
{
int M[3] = { 20,10,1 }, N, b[3]={0}, i;
while (scanf("%d", &N) == 1 && N != 0)//输入金额为0时,结束输入
{
for (i = 0, memset(b,0,sizeof(b)); N != 0; i++)//直到余数为零
{
b[i] += N / M[i];//从20元面额开始,先除以20,得到商, 将所有商对应存入数组b[]。
N %= M[i]; //除以 20,得到余数。。。
}
printf("%d元*%d+%d元*%d+%d元*%d = %d\n",M[0],b[0],M[1],b[1],M[2],b[2],b[0]+b[1]+b[2]);//输出
}
return 0;
}