链接:http://codeforces.com/problemset/problem/697/B
直接按题意模拟。。。
#include <bits/stdc++.h>
using namespace std;
char s[100000],d[100000],e[100000];
int main()
{
int a,b;
while(~scanf("%s",s)){
sscanf(s,"%d.%s",&a,d);
int cnt=0,len=0,i=0;
int sum=0;
while(d[i]!='e')
{
sum+=d[i]-'0';
len++;
i++;
}
for(i++;d[i]!=0;i++)
cnt=cnt*10+d[i]-'0';
if(a==0&&cnt==0)
printf("0");
else if(a!=0)
printf("%d",a);
if(sum==0&&cnt==0)
return 0;
if(cnt<len)
{
for(int i=0;i<len;i++)
{
if(i==cnt)printf(".");
printf("%c",d[i]);
}
}
else if(cnt==len)
for(int i=0;i<len;i++)
printf("%c",d[i]);
else
{
for(int i=0;i<len;i++)
printf("%c",d[i]);
for(int i=0;i<cnt-len;i++)
printf("0");
}
printf("\n");}
return 0;
}