Notacja wykładnicza w C
Ostatnio zmodyfikowano 2014-10-07 21:10
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. |
|
Jacob99 |
» 2014-10-07 18:08:56 na poczekaniu zrobiłem takie coś: #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. |
|
OSA_PL |
» 2014-10-07 19:04:56 Takie coś nie wystarczy? #include <stdio.h> #include <math.h>
int main() { float fX; scanf( "%f", & fX ); printf( "%e", fX ); return 0; }
|
|
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". |
|
pekfos |
» 2014-10-07 20:42:29 tylko za dużo tych 0 jest. Np. zamiast "7.0e-5" pokazuje "7.000000e-005". | %.1e |
|
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ć?
|
|
« 1 » |