Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Notacja wykładnicza w C

Ostatnio zmodyfikowano 2014-10-07 21:10
Autor Wiadomość
cinek15c
Temat założony przez niniejszego użytkownika
Notacja wykładnicza w C
» 2014-10-06 22:23:01
Witam. Proszę o pomoc w napisaniu krótkiego programu. Nie mam pojęcia jak ogarnąć tą notację wykładniczą, bo swoją drogą miałem dopiero 3h ćwiczeń w C, bez żadnych wykładów.
Treść zadania: Napisz program, który wczytuje ze standardowego wejścia liczbę wymierną i wypisuje ją na standardowym wyjściu w notacji wykładniczej (czyli takiej, w której 0.2 to 2.0e-1).

Proszę o szybką pomoc, bo potrzebuję tego do środy.

Napisałem coś takiego:

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

int main()
{
    float fX;
    scanf("%f", &fX);
    printf("%+.0e", fX);
   
    return 0;
}

ale nie działa tak, jak trzeba.
P-118044
Jacob99
» 2014-10-07 18:08:56
na poczekaniu zrobiłem takie coś:
C/C++
#include <stdio.h>
#include <math.h>

int main()
{
    float fX;
    scanf( "%f", & fX );
    float copyFX = fX;
    int potega = 0;
    if( fX < 1 )
    {
        while( copyFX < 1 )
        {
            copyFX = copyFX * 10;
            potega = potega + 1;
        }
    }
    if( fX > 10 )
    {
        while( copyFX > 10 )
        {
            copyFX = copyFX / 10;
            potega = potega + 1;
        }
    }
   
    printf( "%f", copyFX );
    printf( "%s", "e+" );
    printf( "%i", potega );
   
    return 0;
}
Działa, ale jeszcze powinno się poprawić, żeby nie drukowało zbędnych zer na końcu.
P-118074
OSA_PL
» 2014-10-07 19:04:56
Takie coś nie wystarczy?

C/C++
#include <stdio.h>
#include <math.h>

int main()
{
    float fX;
    scanf( "%f", & fX );
    printf( "%e", fX );
   
    return 0;
}

P-118082
cinek15c
Temat założony przez niniejszego użytkownika
» 2014-10-07 19:37:22
No niestety nie działają te programy tak, jak trzeba ;/

Ten od OSA_PL niby robi to, co trzeba, tylko za dużo tych 0 jest. Np. zamiast "7.0e-5" pokazuje "7.000000e-005".
P-118093
pekfos
» 2014-10-07 20:42:29
tylko za dużo tych 0 jest. Np. zamiast "7.0e-5" pokazuje "7.000000e-005".
%.1e
P-118101
cinek15c
Temat założony przez niniejszego użytkownika
» 2014-10-07 21:10:16
"%.1e" pomogło na 0 przy liczbie i faktycznie jest np. "7.0e", ale dalej nadal jest np. "-004" a nie zwykłe "-4". Da się to skorygować?

P-118108
« 1 »
  Strona 1 z 1