TEMA

Formatação dos números com notação cientifico

dalves38 preguntado 5 years ago

#include <stdio.h>

int main(int argc, char** argv)
{
    double n1 = 234.345, n2 = 45.698;
    printf("%.6lf - %.6lf\n", n1, n2);
    printf("%.0lf - %.0lf\n", n1, n2);
    printf("%.1lf - %.1lf\n", n1, n2);
    printf("%.2lf - %.2lf\n", n1, n2);
    printf("%.3lf - %.3lf\n", n1, n2);
    printf("%e - %e\n", n1, n2);
    printf("%E - %E\n", n1, n2);
    printf("%.3lf - %.3lf\n", n1, n2);
    return 0;
}

O resultado aparece no meu códiogo é 2.343450e+002 - 4.569800e+001, como resolver isso

Recuerda no enviar soluciones. Tu mensaje puede ser revisado por nuestros moderadores.

  • jhftm0 respondido 5 years ago

    você esqueceu de "Imprima as duas variáveis com use a representação mais curta, com 'e' ou 'E' ou sem;"

  • dalves38 respondido 5 years ago

    Não deu certo vitor

  • vvilela2 respondido 5 years ago

    É uma inconsistência de implementação, infelizmente. Alguns compiladores irão colocar 3 digítos no expoente, outros colocarão 2, 1... Tente enviar assim mesmo, talvez no compilador do URI ele irá exibir corretamente dois dígitos no expoente sem você precisar editar o seu código.

    Enviei sua solução em um compilador online e ele exibiu corretamente dois dígitos no expoente: http://rextester.com/JVM24119

    Entre no link e clique em "Run it" (F8), a saída será a mesma do que a sugerida no problema. Então creio que dará certo.