只要发现tmp比这个数大,代表有j-1个
#include<iostream>
using namespace std;
#define PRINT_N(x,y) printf("%d nota(s) de R$ %.2lf\n",x,y)
#define PRINT_M(x,y) printf("%d moeda(s) de R$ %.2lf\n",x,y)
int main ()
{
double money[12]={100,50,20,10,5,2,1,0.5,0.25,0.1,0.05,0.009};
int time[12]={0};
double N=0;
scanf("%lf",&N);
for(int i=0;i<12;i++)
{
double tmp=0;
for(int j=1;;j++)
{
tmp=j*money[i];
if(tmp>N)
{
time[i]=j-1;
N-=(j-1)*money[i];
break;
}
}
}
int i=0;
printf("NOTAS:\n");
for(i=0;i<6;i++)
{
PRINT_N(time[i],money[i]);
}
printf("MOEDAS:\n");
for(;i<12;i++)
{
PRINT_M(time[i],money[i]);
}
return 0;
}