您的位置:首页 > 其它

PAT(甲级)Scientific Notation (20)

2017-01-22 14:27 351 查看
题目:https://www.patest.cn/contests/pat-a-practise/1073

代码:#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int main()
{
char str[10010];
gets(str);
int len=strlen(str);
if(str[0]== '-') printf("-");
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");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: