///////////三个测试点不过。。。。
#include<stdio.h>
#include<string.h>
int main(){
char a[1000000],B[1000000],b[4];
char c;
int i=0,j=0,l,m,s,t;
while((c=getchar())!=‘\n‘){
a[i++]=c;
}
l=i;
for(i=0;i<l-4;i++)
{B[i]=a[i];
}
for(i=l-3;i<l;i++)
{b[j++]=a[i];
}
s=b[1]-‘0‘;
t=b[2]-‘0‘;
m=s*10+t;
int len;
len=l-7;
if(B[0]==‘-‘)
printf("-");
//扩大
if(b[0]==‘+‘){
//if(B[1]!=0)
printf("%c",B[1]);
if(m>=len)
{for(i=3;i<l-4;i++)
printf("%c",B[i]);
// if(m>len)
for(i=m-len;i>0;i--)
printf("0");
}
if(m<len){
int cnt=0;
for(i=3,cnt=0;i<l-4&&cnt<m;i++,cnt++)
printf("%c",B[i]);
printf(".");
for(i;i<l-4;i++)
printf("%c",B[i]);
}
}
//缩小
if(b[0]==‘-‘)
{printf("0.");
for(i=0;i<m-1;i++)
printf("0");
//if(B[1]!=‘0‘)
printf("%c",B[1]);
for(i=3;i<l-4;i++)
printf("%c",B[i]);
}
return 0;
}
原文:https://www.cnblogs.com/suying/p/10403027.html