PAT_1073. Scientific Notation

来源:互联网 发布:网络语雪崩是什么意思 编辑:程序博客网 时间:2024/06/07 09:17
////  main.cpp//  PAT_1073. Scientific Notation////  Created by wjq on 17/8/19.//  Copyright © 2017年 wjq. All rights reserved.//#include <iostream>#include <string>using namespace std;string str;int E;int main(int argc, const char * argv[]){    cin>>str;    E = (int)str.find('E');    if(str[0]=='-')        cout<<"-";        int zhishu =atoi(str.substr(E+2).c_str());    //指数为0    if(zhishu==0)    {        for(int i=1;i<E;i++)            cout<<str[i];    }    //指数部分为负数    else if(str[E+1]=='-')    {        cout<<"0.";        for(int i=0;i<zhishu-1;i++)            cout<<"0";        cout<<str[1];        for(int i=3;i<E;i++)            cout<<str[i];    }    //指数部分为正数    else    {        cout<<str[1];        int j;        for(j=3;j<zhishu+3&&j<E;j++)            cout<<str[j];                //指数比小数部分多,要补0,就不需要小数点了.        if(zhishu>E-3)        {            int k=0;            while(k<zhishu-(E-3))            {                cout<<"0";                k++;            }        }        else if(zhishu<E-3)        {            cout<<".";            for(;j<E;j++)                cout<<str[j];        }            }    return 0;}

 

这题是一道模拟题,就是把科学计数法表示的数转换成正常表示.

题意说明数字部分和指数部分的符号位一定是存在的,因此可以对指数部分的符号位进行分类讨论.


原创粉丝点击