Para entender o raciocínio para resolver este problema, consulte 1018 - Cédulas.
Entretanto, temos alguns detalhes aqui: é um pouco problemático obter o resto da divisão para números não inteiros. Por isso, eu decidi que seria uma boa multiplicar por 100 todos os valores envolvidos para me certificar de que só faria manipulação com números inteiros. Também simplifiquei o código para evitar repetições, fazendo com que na hora de imprimir os valores, também seja necessário dividir por 100.
#include<stdio.h>intmain(){int notas[]= {10000,5000,2000,1000,500,200};int moedas[]= {100,50,25,10,5,1};int reais, centavos;scanf("%d.%d",&reais,¢avos); reais =100* reais + centavos;printf("NOTAS:\n");for(int i =0; i <6; ++i){printf("%d nota(s) de R$ %.2lf\n", reais/notas[i], notas[i]/100.0); reais %= notas[i]; }printf("MOEDAS:\n");for(int i =0; i <6; ++i){printf("%d moeda(s) de R$ %.2lf\n", reais/moedas[i], moedas[i]/100.0); reais %= moedas[i]; }return0;}
#include<cstdio>intmain(){int notas[] = {10000,5000,2000,1000,500,200};int moedas[] = {100,50,25,10,5,1};int reais, centavos;scanf("%d.%d",&reais,¢avos); reais =100* reais + centavos;printf("NOTAS:\n");for(int i =0; i <6; ++i){printf("%d nota(s) de R$ %.2lf\n", reais/notas[i],notas[i]/100.0); reais %=notas[i]; }printf("MOEDAS:\n");for(int i =0; i <6; ++i){printf("%d moeda(s) de R$ %.2lf\n", reais/moedas[i],moedas[i]/100.0); reais %=moedas[i]; }return0;}
var input =require("fs").readFileSync("/dev/stdin","utf8");var lines =input.split("\n");let [reais, centavos] =lines.shift().trim().split('.').map((x) =>parseInt(x));let valor =100* reais + centavos;notas = [10000,5000,2000,1000,500,200];moedas = [100,50,25,10,5,1];console.log("NOTAS:");notas.forEach((nota) => {console.log(`${Math.floor(valor/nota).toFixed(0)} nota(s) de R$ ${(nota/100).toFixed(2)}`); valor %= nota;});console.log("MOEDAS:");moedas.forEach((moeda) => {console.log(`${Math.floor(valor/moeda).toFixed(0)} moeda(s) de R$ ${(moeda/100).toFixed(2)}`); valor %= moeda;});
reais, centavos = [int(x)for x ininput().strip().split('.')]reais = reais *100+ centavosnotas = [10000,5000,2000,1000,500,200]moedas = [100,50,25,10,5,1]print("NOTAS:")for nota in notas:print(f"{reais//nota} nota(s) de R$ {(nota/100):.2f}") reais %= notaprint("MOEDAS:")for moeda in moedas:print(f"{reais//moeda} moeda(s) de R$ {(moeda/100):.2f}") reais %= moeda