#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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E...
- 题目描述 非回文数字可以通过一系列操作与回文数字配对。 首先,反转非回文数字,并将结果添加到原始数字。 如果结果不...
- 传送门 https://pintia.cn/problem-sets/994805260223102976/pro...
- 题目信息 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0...