不能AC
#include <iostream>
#include<cstdio>
using namespace std;
int main()
{
int n,flag;
while(scanf("%d",&n)!=EOF)
{
while(n)
{
flag=1;
double sum=0;
// double m;
// scanf("%lf",&m);
/*这里多循环一次,???
for(int i=1;i<=m;i++)
{
i=i*flag;
sum+=1.0/i;
flag=-1*flag;
}*/
double m,i=1;
scanf("%lf",&m);
while(m--)
{
//这里的sum在m>4的时候为inf
//errpr:sum+=1.0/i;
sum=sum+flag*(1.0/i)
flag=-flag;
i++;
}
printf("%.2lf\n",sum);
n--;
}
}
return 0;
}
能AC的
#include<stdio.h>
double fun(int n)
{
int flag=1,temp=1;
double sum=0,Z;
while(n--)
{
sum+=flag*(1.0/temp);
temp++;
flag=-flag;
}
return sum;
}
int main()
{
int m,n;
scanf("%d",&m);
for(int i=0;i<m;i++)
{
scanf("%d",&n);
double x=fun(n);
printf("%.2lf\n",x);
}
return 0;
}