PTA乙级题 1024. 科学计数法 (20)

【题目链接】


#include<stdio.h>
#include<math.h>
int main()
{
    int i,n,len;
    char ch,a[10010];
    for (i=0;(ch=getchar())!='E';i++)
    a[i]=ch;
    len=i-3;   //小数位数
    scanf("%d",&n);
    if (a[0]=='-')
    printf("-");
    if (n>=len)
    {
        printf("%c",a[1]);
        for (i=3;i<len+3;i++)
        printf("%c",a[i]);
        for (i=0;i<n-len;i++)
        printf("0");
    }
    else if (n<=0)
    {
        if (n==0)
        {
            for (i=1;i<len+3;i++)
            printf("%c",a[i]);
        }
        else
        {
            printf("0.");
            for (i=0;i<-1-n;i++)
            printf("0");
            printf("%c",a[1]);
            for (i=3;i<len+3;i++)
            printf("%c",a[i]);
        }
    }
    else
    {
        printf("%c",a[1]);
        for (i=3;i<len+3;i++)
        {
            printf("%c",a[i]);
            if (i==n+2)
            printf(".");
        }
    }
    return 0;
}