首页 > 学院 > 开发设计 > 正文

PAT 1073

2019-11-06 07:09:46
字体:
来源:转载
供稿:网友
#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;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表