题目:https://www.patest.cn/contests/pat-a-practise/1073
代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<stack>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char str[10010];
gets(str);
if(str[0]=='-'){
printf("-");
}
int len= strlen(str);
int pos=0;
while(str[pos]!='E'){
pos++;
}
int exp=0;
for(int i= pos+2;i<len;i++){
exp=exp*10+(str[i]-'0');
}
if(exp==0){
for(int i=1;i<pos;i++){
printf("%c",str[i]);
}
}
if(str[pos+1]=='-'){
printf("0.");
for(int i=0;i<exp-1;i++){
printf("0");
}
printf("%c",str[1]);
for(int i=3;i<pos;i++){
printf("%c",str[i]);
}
}else{
for(int i=1;i<pos;i++){
if(str[i]=='.') continue;
printf("%c",str[i]);
if(i == exp+2&&pos-3!=exp){
printf(".");
}
}
for(int i=0;i<exp-(pos-3);i++){
printf("0");
}
}
system("pause");
}