TOPIC

Wrong Answer 5% Why? Porque?

Luan Sabino asked 3 months ago

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(){

    double imposto = 0.0, declaracao;

    scanf("%lf", &declaracao);

    if(declaracao <= 2000.00){
        printf("Isento\n");
        exit(1);
    }

    if(declaracao > 4500.00){
        imposto += (fmod(declaracao, 4500.00) / 100) * 28.00;
        imposto += (1500.00 / 100) * 18.00;
        imposto += (1000.00 / 100) * 8.00;
        printf("R$ %.2lf\n", imposto);
        exit(1);
        }else if(declaracao >= 3000.01){
                imposto += (fmod(declaracao, 3000.00) / 100) * 18.00;
                imposto += (1000.00 / 100) * 8.00;
                printf("R$ %.2lf\n", imposto);
                exit(1);
            }else if(declaracao >= 2000.01){
                    imposto +=(fmod(declaracao, 2000.00) / 100) * 8.00;
                    printf("R$ %.2lf\n", imposto);
                    exit(1);
                }else{
                        printf("Isento\n");
                        exit(1);
                    }

}

Remember not post solutions. Your post may be reviewed by our moderators.

  • MatzeTheDevil replied 3 months ago

    Use 9450.52 para o cálculo do imposto.

    A resposta correta é R$ 1736.15, porém seu código irá retornar R$ 476.15.

    Mude o cálculo para não utilizar o fmod.