##### 13. 科学计数法转化为传统计数✔
记录正负号;
指数部分根据 正负分别处理。
指数为正时,可能消除小数点,也要分两种情况处理。
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string s;
cin>>s;
int flag=false;
if(s[0]=='-') flag=true;
s=s.substr(1);
int e_pos = s.find('E');
if(s[e_pos+1]=='-'){
int n = stoi(s.substr(e_pos+2))-1; //这里默认指数>0
s = s.substr(0,e_pos);
s = s.substr(0,1) + s.substr(1+1,e_pos-2);
while(n--){
s = "0" +s;
}
s= "0."+s;
}
else {
int n = stoi(s.substr(e_pos+2)); //这里默认指数>0
s = s.substr(0,e_pos);
if(n+2 >= s.size() ){ //没有小数点
n = n+2-s.size();
s = s.substr(0,1) + s.substr(1+1,e_pos-2);
while(n--){
s = s +"0";
}
}
else{ //有小数点
s = s.substr(0,1) + s.substr(1+1,e_pos-2);
s = s.substr(0,n+1) +"." + s.substr(n+1);
}
}
if(flag) s = '-'+s;
cout<<s<<endl;
}