一个简单的acm问题,杭电的2011

来源:百度知道 编辑:UC知道 时间:2024/06/01 06:58:25
#include <stdio.h>
#include <math.h>
main()
{
int m,i;
double n[1000],s=0,j;
while(scanf("%d",&m)!=EOF)
{s=0;
for(i=0;i<m;i++)
{
scanf("%lf",&n[i]);
}
for(i=0;i<m;i++)
{for(j=1;j<=n[i];j++)
s=s+1/j*pow(-1,j+1);
printf("%.2lf\n",s);
}
}
}
0_0_1122331_12902.cpp
0_0_1122331_12902.cpp(15) : error C2666: “pow” : 7 个重载有相似的转换
\include\math.h(620): 可能是“long double pow(long double,int)”
\include\math.h(618): 或 “long double pow(long double,long double)”
\include\math.h(572): 或 “float pow(float,int)”
\include\math.h(570): 或 “float pow(float,float)”
\include\math.h(534): 或 “double pow(int,int)”
\include\math.h(532): 或

我帮你交过了。。答案是错误的。。。要选择对提交的语言
我的代码给你:
#include<stdio.h>
#include<math.h>
int main()
{
double p[1010],y;
int a,i,n,j;
while(scanf("%d",&a)!=EOF)
{

for(i=0;i<a;i++)
{
y=0;
scanf("%lf",&p[i]);
n=p[i];

for(j=1;j<=n;j++)
y=y+pow(-1,j+1)/j;
printf("%.2lf\n",y);
}

}

return 0;

}