TOPIC

Wrong Answer 5% - Alguém me ajuda

Gustavo Borges asked 9 months ago

#include <stdio.h>

int main(){
    int dias;
    scanf("%d", &dias);
    if(dias<30){
        printf("0 ano(s)\n0 mes(es)\n%d dia(s)\n", dias);
}
    if(dias==30){
        printf("0 ano(s)\n1 mes(es)\n0 dia(s)\n");
    }
    if (dias==365){
        printf("1 ano(s)\n0 mes(es)\n0 dia(s)\n");
    }

    if(dias==360||dias==361||dias==362||dias==363||dias==364){
        printf("0 ano(s)\n11 mes(es)\n%d dia(s)\n", dias%360);
    }

    if (dias>30 && dias<360){
        dias = dias / 30;
        printf("0 ano(s)\n%d mes(es)\n%d dia(s)\n", dias, dias%30);
    }

   if(dias>30 && dias>365){
        printf("%d ano(s)\n", dias/365);
        dias = dias % 365;
        printf("%d mes(es)\n", dias/30);
        printf("%d dia(s)\n", dias%30);
    }

}

Alguém pode me ajudar no que está de errado nesse código?

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

  • Otávio Porto replied 9 months ago

    Há necessidade de tantas verificações(if(...))?

    GUSTAVO BORGES tente decompor o valor de entrada em dias, meses e anos, para só no fim imprimir o resultado.

    A solução deste problema é simples, basta apenas fazer algumas(três) contas.