#include <stdio.h>
#include <string.h>
int main(){
char s1[9999],s2[9999];
int i=0,number;
scanf("%[^.].%[^E]E%d",s1,s2,&number);//s1=-1 s2=2 number=10
if ( s1[0]=='-' )printf("%c",s1[0]);
if(number<0){
printf("0.");
for(i=0;i<number*(-1)-1;i++){ printf("0"); }
for(i=1;i<strlen(s1);i++){ printf("%c",s1[i]); }
printf("%s",s2);
}else{
for(i=1;i<strlen(s1);i++){ printf("%c",s1[i]); }
printf("%s",s2);
for(i=0;i<number-1;i++){ printf("0"); }
}
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3895014fb4d49a6f336db07855f4ff62.jpeg)
总结
这个 scanf %[^n]的写法真的很好用