题目链接
思路
%[] 的意思是:读入此集合所限定的那些字符。例如 %[A-Z] 是指接受大写字母,一旦遇到非大写字母便停止接受,而 %[^] 是指不要读入此集合所限定的那些字符。例如 % [^A-Z] 是指不接受大写字母,一旦遇到大写字母便停止接受。
测试点5不过可能是数组开小了
AC代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<map>
#include<stack>
using namespace std;
typedef long long ll;
const int maxn=1e6;
int main()
{
char h,a[10005]={0};
int e;
scanf("%c%c.%[0-9]E%d",&h,&a[0],a+1,&e);
if(h=='-')
printf("-");
if(e<0)
{
printf("0.");
e=-e-1;
while(e)
{
printf("0");
e--;
}
printf("%s",a);
}
else
{
for(int i=0;i<=e||a[i]!=0;i++)
{
if(i==e+1)
printf(".");
printf("%c",a[i]==0?'0':a[i]);
}
}
return 0;
}