#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
//start at 10.24
char s[10000];
int main(){
int len,len1=0,flag=0;
char key;
char *a,*b;
scanf("%s",s);
len=strlen(s);
for(int i=0;i<len;i++){
if(s[i]=='E'){
key=s[i+1];
for(int j=i+2;j<len;j++){
len1=len1*10+s[j]-'0';
}
break;
}
}
// printf("%d \n",len1);
if(len1==0){
if(s[0]=='+'){
for(int z=1;s[z]!='E';z++){
printf("%c",s[z]);
}
}
else{
printf("-");
for(int z=1;s[z]!='E';z++){
printf("%c",s[z]);
}
}
}
else
if(key=='+'){
a=strchr(s,'.');
b=strchr(s,'E');
int c=b-a-1;
if(s[0]=='-')
printf("-");
if(c>len1){
for(int z=1;s[z]!='E';z++){
if(z==2)
continue;
else{
printf("%c",s[z]);
flag++;
if(flag==1+len1)
printf(".");
}
}
}
else{
for(int z=1;s[z]!='E';z++){
if(z==2)
continue;
else{
printf("%c",s[z]);
}
}
// printf("%d %d\n",len1,c);
for(int zz=0;zz<(len1-c);zz++){
printf("0");
}
}
}
else{
if(s[0]=='-')
printf("-");
for(int i=0;i<len1;i++){
printf("0");
if(i==0)
printf(".");
}
for(int z=1;s[z]!='E';z++){
if(z==2)
continue;
else{
printf("%c",s[z]);
}
}
}
return 0;
}
pat 1024
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 题目描述 非回文数字可以通过一系列操作与回文数字配对。 首先,反转非回文数字,并将结果添加到原始数字。 如果结果不...
- 传送门 https://pintia.cn/problem-sets/994805260223102976/pro...
- 题目信息 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0...