Ich versuche, eine Datei zu lesen, die die folgenden Inhalte haben:Lese wissenschaftliche Notation in C
1.0000000e + 01 + 03 2.9265380e 5.0821200e + 02 + 01 4.3231640e
2.0000000e + 01 1.0170240e + 04 + 02 9.2798610e 4.0723180e + 01
3.0000000e + 01 + 04 2.1486260e 1.1832420e + 03 1.0328000e + 01
4.0000000e + 01 + 04 3.3835080e 1.1882285e + 03 - 9.3307000e + 00
5.0000000e + 01 4.5250830e + 04 + 03 1.0899705e -1.0320900e + 01
6.0000000e + 01 5.5634490e + 04 + 02 9.8935650e -9.8019000e + 00
7.0000000e + 01 6,5037960 e + 04 8.9134700e + 02 -9.8000000e + 00
aber ich kann nicht scheinen, einen richtigen Weg zu finden, die wissenschaftliche Notation zu lesen. Hier ist, was ich von dem Code haben:
#include <stdio.h>
#include <stdlib.h>
int main()
{
// This is the array to store the input
double time[24], altitude[24], velocity[24], acceleration[24];
double var1, var2, var3, var4;
//This is the pointer declaration for opening a file
FILE * fp = fopen("rocket.txt", "r");
int i = 0;
while(fscanf(fp,"%g %f %f %f", &var1, &var2, &var3, &var4) > 0){
time[i] = var1;
altitude[i] = var2;
velocity[i] = var3;
acceleration[i] = var4;
printf("Time: %f \n", &time[i]);
i++;
}
printf("Time: %f", &time[0]);
fclose(fp);
return(0);
}
ich mehrere Kombinationen von %f, %g, %d
versucht haben, um zu versuchen, aus dem Ergebnis zu drucken, aber ich kann nie das Richtige bekommen.
Wenn mir jemand auf die richtige Richtung zeigen kann, werde ich es sehr schätzen.
Do not Verwenden Sie 'fscanf()' zum Analysieren von Strings. –