Es la mente humana la que libera la luz infinita, y también es la mente humana la que crea la oscuridad ilimitada. La luz y la oscuridad se entrelazan y luchan juntas. Este es el mundo por el que estamos nostálgicos y desamparados.
La notación científica es la forma en que los científicos manejan fácilmente números muy grandes o números muy pequeños. La notación coincide con la expresión regular [+ -] [1-9] .
[0-9] + E [+ -] [0-9] + lo que significa que la parte entera tiene exactamente un dígito, hay al menos un dígito en la porción fraccionaria y el número y los signos de su exponente siempre se proporcionan incluso cuando son positivos.
Ahora, dado un número real A en notación científica, se supone que debe imprimir A en la notación convencional manteniendo todas las cifras significativas.
Especificación de entrada:
Cada entrada contiene un caso de prueba. Para cada caso, hay una línea que contiene el número real A en notación científica. El número no tiene más de 9999 bytes de longitud y el valor absoluto del exponente no es más de 9999.
Especificación de salida:
Para cada caso de prueba, imprima en una línea el número de entrada A en la notación convencional, manteniendo todas las cifras significativas, incluidos los ceros finales.
Entrada de muestra 1:
+1.23400E-03
Salida de muestra 1:
0.00123400
Entrada de muestra 2:
-1.2E+10
Salida de muestra 2:
-12000000000
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#include<climits>//INT_MAX
#define PP pair<ll,int>
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
#define PI 3.1415926
typedef long long ll;
using namespace std;
int const mod=1e9+7;
const int maxn=3e5+10;
vector<char> jg;
char t;
int fh,op[2],fg=1,in,tt;
int main(){
while((t=getchar())!='\n'){
if(t=='+'||t=='-')
op[in++]=t;
else if(t=='.')
continue;
else if(t=='E')
fg=0;
else{
if(fg)
jg.push_back(t);
else
fh=fh*10+t-'0';
}
}
if(op[1]=='-')
fh*=-1;
tt=fh+1;
if(tt<=0){
while(tt++)
jg.insert(jg.begin(), '0');
jg.insert(jg.begin(), '.');
jg.insert(jg.begin(), '0');
}
else{
if(tt<jg.size())
jg.insert(jg.begin()+tt, '.');
else
while(tt-jg.size())
jg.push_back('0');
}
if(op[0]=='-')
printf("-");
for(int i=0; i<jg.size(); i++)
printf("%c", jg[i]);
printf("\n");
return 0;
}