ayuda URGENTE

gus04067
02 de Septiembre del 2009
HOla amigos tengo este programa pero no me funciona como debe ser ya que me da valores disparejos ayuda porfa

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main() {
float pago=0,compra=0,B20=0,B10=0,B5=0,B1=0,vuelto=0,M25=0,M10=0,M5=0,M1=0;
clrscr ();
printf("introdusca el total de lo comprado");
scanf("%f",&compra);
printf("pague su compra");
scanf("%f",&pago);
vuelto=pago-compra;
printf("su vuelto es:%.2fn",vuelto);
//

if (vuelto >= 20){
B20++;
vuelto -= 20;
printf("Billetes de 20:%.0fn",B20);
}
if (vuelto >= 0.25){
M25++;
vuelto -= 0.25;
printf("Monedas de 0.25 centavos:%.0fn",M25);
}
if (vuelto >= 10){
B10++;
vuelto -= 10;
printf("Billetes de 10:%.0fn",B10);
}
if (vuelto >= 0.10){
M10++;
vuelto -= 0,10;
printf("Monedas de 0.10 centavos:%.0fn",M10);
}
if (vuelto >= 5){
B5++;
vuelto -= 5;
printf("Billetes de 5:%.0fn",B5);
}
if (vuelto>= 0.05){
M5++;
vuelto -= 0.05;
printf("Monedas de 0.05 centavos:%.0fn",M5);
}
if (vuelto >= 1){
B1++;
vuelto -= 1;
printf("Billetes de 1:%.0fn",B1);
}
if (vuelto >= 0.01){
M1++;
vuelto -= 0.01;
printf("Monedas de 0.01 centavos:%.0fn",M1);
}
getch ();
return 0;
}