stringstream用法这里
substr()方法 这里
思路来源这里
#include<iostream>
#include<string>
#include <sstream>// !#$%@#@!%!#@$@!
using namespace std;
int main()
{
string s;
stringstream stream;
int n;
cin>>s;
//string::size_type pos=s.find('E');
int pos=s.find('E');
//cout<< "pos="<<pos<<endl;
string s2=s.substr(pos+2);
//cout<<s2<<endl;
stream<<s2;
stream>>n;
//cout<<"n="<<n<<endl;
if(s[pos+1]=='-')//小数点左移
{
if(s[0]=='-')
cout<<s[0];
for(int i=0;i<n;i++)
if(i==1) cout<<".0";
else cout<<"0";
cout<<s[1];
for(int i=3;i<pos;i++)
cout<<s[i];
cout<<endl;
}
else//小数点右移
{
if(n>=pos-3)// 转换后的普通数字没有小数点
{
if(s[0]=='-')
cout<<s[0]<<s[1];
else
cout<<s[1];
for(int i=3;i<pos;i++)
cout<<s[i];
for(int i=0;i<n-(pos-3);i++)
cout<<"0";
cout<<endl;
}
else// 转换后的普通数字有小数点
{
if(s[0]=='-')
cout<<s[0]<<s[1];
else
cout<<s[1];
for(int i=3;i<3+n;i++)
cout<<s[i];
cout<<".";
for(int i=3+n;i<pos;i++)
cout<<s[i];
cout<<endl;
}
}
return 0;
}
饿的 看题看半天 读代码读半天···
懵了
songshine~let us work hard together!