1 #include <stdio.h> 2 #include < string .h> 3 #include <algorithm> 4 usando el espacio de nombres std; 5 const int maxn = 100000 ; 6 char a [maxn]; 7 int main () { 8 int evalue = 0 , pos = 0 , flag = 0 , ep, len, pointp; 9 int cuenta = 0 ; 10 scanf ( " % s " , a); 11 12 len =strlen (a); 13 para ( int i = 1 ; i <len; i ++ ) { 14 if (a [i] == ' . ' ) {Pointp = i;} 15 if (a [i] == ' E ' ) {ep = yo; break ;} 16 } 17 para ( int i = ep + 2 ; i <len; i ++ ) { 18 evalue = evalue * 10 + (a [i] - ' 0 ' ); 19 } 20 if (a [ep + 1] == ' + ' ) pos = 1 ; 21 if (a [ 0 ] == ' - ' ) printf ( " % c " , a [ 0 ]); 22 if (pos == 1 ) { 23 cuenta = 0 ; 24 para ( int i = 1 ; i <ep; i ++ ) { 25 if (i> pointp) { 26 if (count <evalue) {printf ( " % c " , a [i]); count ++ ;} 27 de lo contrario if (count == evalue) printf ( " .% c " , a [i]); 28 más printf ( " % c " , a [i]); 29 } 30 más if (i <puntop) printf ( " % c " , a [i]); 31 } 32 if (cuenta < evalue) { 33 para ( int i = cuenta; i <evalue; i ++) printf ( " 0 " ); 34 } 35 } 36 más { 37 printf ( " 0 " ); 38 para ( int i = 1 ; i <evalue; i ++) printf ( " 0 " ); 39 para ( int i = 1 ; i <ep; i ++ ) 40 if (i! = Pointp) 41 printf ( " % c " , a [i]); 42 } 43 44 45 46 retorno 0 ; 47 }