用C语言编写函数1-1/(2*2)-1/(3*3)-1/(4*4)-1/(m*m)

我的那错了,希望有心人帮忙,谢谢了
#include <stdio.h>
float qiuhe(int n)
{
float sum,s;
int i;
sum=1;
for (i=2;i<=n;i++)
{
s=1/(i*i);
sum-=s;
}

return sum;
}
main()
{
int n;
float sum;
printf("input n:\n");
scanf("%d",&n);
sum=qiuhe(n);
printf("%f",sum);

}

第1个回答  2012-04-15
1 和i*i 都是 int 型,做除法会自动取整
把 s=1/(i*i); 改成 s=1.0/(i*i) 试试。
第2个回答  2012-04-15
去和(qiuhe)函数中这样定义:float sum,s,i=1;就好了.
第3个回答  2012-04-15
#include <stdio.h>
float qiuhe(int n)
{
float sum,s;
int i;
sum=1;
for (i=2;i<=n;i++)
{
s=1.0/(i*i);// 1/2==0,1.0/2==0.5
sum-=s;
}

return sum;
}
main()
{
int n;
float sum;
printf("input n:\n");
scanf("%d",&n);
sum=qiuhe(n);
printf("%f",sum);

}本回答被提问者采纳
第4个回答  2012-04-15
sum 没有赋初值
相似回答