这种题啊就得非常仔细,特别是像substr这样的函数,添加0的时候也要计算准确。
另外在进行有几个字符串的函数在这里记录一下:
.insert(int pos,"串”)//pos 实际就是插入位置,还要注意插入的得是字符串
.find()的参数则可以是字符串或者字符。
还有就是在字符串末尾添加串可以直接用+号
#include<iostream>
#include<string>
using namespace std;
int main(){
string a,b="";
getline(cin,a);
int index=a.find('E');
b+=a.substr(1,index-1);
string e=a.substr(index+1,a.length()-index-1);
int times=stoi(e);
//cout<<times<<endl;
if(times>0){
b.erase(b.find('.'),1);
int t=b.length()-1;
if(t>times)
b.insert(1+times,".");
else
for(int i=0;i<times-t;i++)
b+="0";
}
else if(times<0){
b.erase(b.find('.'),1);
times=-times;
for(int i=0;i<times;i++){
b.insert(0,"0");
}
b.insert(1,".");
}
if(a[0]=='-')
b.insert(0,"-");
cout<<b<<endl;
system("pause");
return 0;
}
人呀,遇到麻烦还是要迎难而上,逃避解决不了任何问题。