#include<cstdio>#include<iostream>#include<string>#include<string.h>#include<algorithm>using namespace std;int main(){ string s; cin>>s; if(s[0]=='+') s.erase(s.begin()); else { PRintf("-"); s.erase(s.begin()); } int dotnum=s.find("."); int epos=s.find("E"); if(s[epos+1]=='-') { printf("0."); int res=0; for(string::iterator it=s.begin()+epos+2;it!=s.end();it++) { res=(*it-'0')+res*10; } for(int i=0;i<res-1;i++ ) { printf("0"); } s.erase(s.begin()+dotnum); for(int i=0;i<epos-1;i++) { printf("%c",s[i]); } } else { int res=0; for(string::iterator it=s.begin()+epos+2;it!=s.end();it++) { res=(*it-'0')+res*10; } s.erase(s.begin()+dotnum); dotnum=dotnum+res;//小数点位置 bool ifdot=true; int i; bool isleft=false; for(i=0;i<dotnum;i++) { if(isleft==false&&s[i]!='E') printf("%c",s[i]); else { isleft=true; printf("0"); ifdot=false; } } if(i<s.length()) { if(s[i]=='E') ifdot=false; } if(ifdot==true) { printf("."); while(s[i]!='E') { printf("%c",s[i]); i++; } } } system("pause"); return 0;}
新闻热点
疑难解答