题意是将一个数字的科学计数法转化为完整数字,模拟即可,不过要注意左0右0等等特殊情况,之前开始是用的一个个字符读入进字符数组然后进行分类讨论很复杂,后来发现直接读入字符串进行统一的划分操作即可
#include"iostream"
#include"stdlib.h"
#include"string"
using namespace std;
string s;
string a,d,c;
int b;
int main()
{
cin>>s;
a=s[0];
d=s.substr(2,s.find('e')-2);
c=s.substr(s.find('e')+1,s.length()-s.find('e'));
b=atoi(c.c_str())+1;
/*cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
cout<<d<<endl;
cout<<endl;*/
a+=d;
while(a.length()<b) a+='0';
//cout<<a<<endl;
a=a.substr(0,b)+'.'+a.substr(b,a.length()-b);
//cout<<a<<endl;
int l=0;
while(a[0]=='0') { a=a.substr(1,a.length()-1); l++;}
// cout<<a<<endl;
l=a.length()-1;
while(a[a.length()-1]=='0') { a=a.substr(0,a.length()-1); l--;}
// cout<<a<<endl;
if(a[0]=='.') a='0'+a;
if(a[a.length()-1]=='.') a=a.substr(0,a.length()-1);
cout<<a<<endl;
return 0;
}