题目
https://pintia.cn/problem-sets/994805342720868352/problems/994805395707510784
AC代码(参考)
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
if(s[0]=='-') cout<<"-";
int posE=s.find('E');//找到E的位置
string t=s.substr(1,posE-1);
int n=stoi(s.substr(posE+1));
if(n<0)//n<0,因为前面的整数部分只有一位,所以最终的数字一定是以0.开头
{
cout<<"0.";
for(int i=0;i<abs(n)-1;i++) cout<<"0";
for(int i=0;i<t.length();i++)
if(t[i]!='.') cout<<t[i];
}
else
{
cout<<t[0];
int i,cnt;
for(i=2,cnt=0;i<t.length()&&cnt<n;i++,cnt++) cout<<t[i];
if(i==t.length())
for(int j=0;j<n-cnt;j++) cout<<"0";
else
{
cout<<".";
for(int j=i;j<t.length();j++) cout<<t[j];
}
}
}