题意:
输入科学计数法输出它表示的数字。
AAAAAccepted code:
1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 string s; 5 int ans2[10007]; 6 int main(){ 7 ios::sync_with_stdio(false); 8 cin.tie(NULL); 9 cout.tie(NULL); 10 cin>>s; 11 int n=s.size(); 12 if(s[0]=='-') 13 cout<<'-'; 14 int pos=3; 15 int cnt2=0; 16 int ans=s[1]-'0'; 17 for(int i=pos;i<n;++i){ 18 if(s[i]=='E'){ 19 pos=i+1; 20 break; 21 } 22 ans2[++cnt2]=s[i]-'0'; 23 } 24 int flag=0; 25 if(s[pos]=='-') 26 flag=1; 27 ++pos; 28 int num=0; 29 for(int i=pos;i<n;++i){ 30 num*=10; 31 num+=s[i]-'0'; 32 } 33 if(flag){ 34 cout<<0<<'.'; 35 for(int i=1;i<num;++i) 36 cout<<0; 37 cout<<ans; 38 for(int i=1;i<=cnt2;++i) 39 cout<<ans2[i]; 40 } 41 else{ 42 int num2=0; 43 cout<<ans; 44 int tamp=0; 45 for(tamp=1;tamp<=cnt2&&num2<num;++tamp,++num2) 46 cout<<ans2[tamp]; 47 if(tamp>cnt2) 48 for(int i=1;i<=num-num2;++i) 49 cout<<0; 50 else{ 51 cout<<'.'; 52 for(int i=tamp;i<=cnt2;++i) 53 cout<<ans2[i]; 54 } 55 } 56 return 0; 57 }