1073. Scientific Notation (20)

来源:互联网 发布:晟元数据 叶再本 编辑:程序博客网 时间:2024/05/16 20:30
#include<cstdio>#include<iostream>#include<string>#include<sstream>using namespace std;int main (){string s,ans="";getline(cin,s);if (s[0]=='-')ans+=s[0];int indexE=s.find("E");string num=s.substr(1,indexE-1);char x=s[indexE+1];string exp=s.substr(indexE+2,s.size()-indexE-2);stringstream ss;ss<<exp;int e;ss>>e;if (e==0){cout<<ans<<num<<endl;return 0;}if (x=='+'){if (e<num.size()-2){ans=ans+num[0]+num.substr(2,e)+'.'+num.substr(e+2,num.size()-e-2);}else {ans=ans+num[0]+num.substr(2,num.size()-2);for(int i=0;i<e-num.size()+2;i++)ans+="0";}}if (x=='-'){ans=ans+"0.";while (e--!=1)ans+="0";ans=ans+num[0]+num.substr(2,num.size()-2);}cout<<ans<<endl;//}
分析:和基础题一样,这次学习了一个更加简洁的方法,主要熟悉运用substr 以及sstream
0 0
原创粉丝点击