• PAT (Advanced Level) 1073. Scientific Notation (20)


    简单模拟题。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<stack>
    #include<queue>
    #include<string>
    #include<algorithm>
    using namespace std;
    
    char s[100000];
    int p;
    
    int main()
    {
        scanf("%s",s);
        for(int i=0;s[i];i++) if(s[i]=='E') p=i;
    
        if(s[0]=='-') printf("%c",s[0]);
    
        int num=0;
        for(int i=p+2;s[i];i++) num=num*10+s[i]-'0';
    
        if(s[p+1]=='-')
        {
            printf("0.");
            for(int i=0;i<num-1;i++) printf("0");
            for(int i=1;s[i];i++)
            {
                if(s[i]=='E') break;
                if(s[i]=='.') continue;
                else printf("%c",s[i]);
            }
        }
    
        else
        {
            int d;
            for(int i=1;s[i];i++)
            {
                if(s[i]=='.') d=i;
            }
            if(p-d-1>num)
            {
                if(s[1]!='0') printf("%c",s[1]);
                for(int i=3;i<3+num;i++) printf("%c",s[i]);
                printf(".");
                for(int i=3+num;s[i];i++)
                {
                    if(s[i]=='E') break;
                    printf("%c",s[i]);
                }
            }
            else
            {
                for(int i=1;s[i];i++)
                {
                    if(s[i]=='E') break;
                    if(s[i]=='.') continue;
                    if(i==1&&s[i]=='0') continue;
                    printf("%c",s[i]);
                }
                for(int i=0;i<num-(p-d-1);i++) printf("0");
            }
        }
        return 0;
    }
  • 相关阅读:
    call,apply和bind的用法及区别
    JavaScript数组去重的方法
    JavaScript原型与原型链
    判断数组的方法
    两栏布局和三栏布局的实现
    小作品
    CSS垂直居中的方法
    闭包实现add(1)(2), add(1,2)的功能
    1.JavaScript的组成
    常用指令
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5634250.html
Copyright © 2020-2023  润新知