#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN=20005;
char str[MAXN];
void pr(int l,int r)//打印str数组l-r,略过小数点
{
for(int i=l;i<=r;i++)
{
if(str[i]=='.')
continue;
printf("%c",str[i]);
}
}
void pr0(int n)//打印n个0
{
for(int i=0;i<n;i++)
printf("0");
}
int main()
{
// freopen("in.txt","r",stdin);
gets(str);
if(str[0]=='-')
printf("-");
int pos=0;//E的位置
while(str[pos]!='E')
pos++;
int exp;//指数
sscanf(str+pos+2,"%d",&exp);
if(exp==0)
{
for(int i=1;i<pos;i++)
printf("%c",str[i]);
}
else if(str[pos+1]=='-')
{
printf("0.");
pr0(exp-1);
pr(1,pos-1);
}
else
{
if(exp+3>=pos)
{
pr(1,pos-1);
pr0(exp+3-pos);
}
else
{
printf("%c",str[1]);
pr(3,exp+3-1);
printf(".");
pr(exp+3,pos-1);
}
}
return 0;
}
1073. Scientific Notation (20)
最新推荐文章于 2022-08-18 16:58:11 发布