PAT 乙级 1024

来源:互联网 发布:网络布线要求 编辑:程序博客网 时间:2024/06/05 06:58

我先说我第一次做为什么会错,我把题意理解错了,总以为指数最多99;到最后有最后两个一分的测试样例没过。


#include<iostream>using namespace std;int main(){string s;cin>>s;if(s[0]=='-')  cout<<"-";int site;for(int i=1;i<s.length();i++){if(s[i]=='E')  site=i;}int h=0;for(int i=site+2;i<s.length();i++){h=(s[i]-'0')+10*h;}if(s[site+1]=='-'){if(0<h){cout<<"0.";for(int i=1;i<h;i++){cout<<0;}for(int i=1;i<site;i++)    {if(s[i]>='0'&&s[i]<='9'){cout<<s[i];}    }}else{}    }    else{    if(site-3<h)    {    if(s[1]!='0')      cout<<s[1];    for(int i=3;i<site;i++){if(s[i]>='0'&&s[i]<='9'){cout<<s[i];}} for(int i=0;i<h-(site-3);i++){cout<<0;} }else{if(s[1]!='0')  cout<<s[1];for(int i=3;i<site;i++){if(i==3+h){cout<<".";}if(s[i]>='0'&&s[i]<='9'){cout<<s[i];}}  }}    return 0;} 




原创粉丝点击