ACM的问题求大家解答,C语言

问题如下
Description
计算:t=1-1/(2*2)-1/(3*3)-...-1/(m*m)

Input
整型变量m

Output
t(保留六位小数)

Sample Input
10
Sample Output
0.450232
HINT
代码如下
#include
#include

int main()
{
int m,n;
float t=1;
scanf("%d",&m);
{
for(n=2;n<=m;n++)
{
t=t-1.0/(n*n);
}
printf("%.6f\n",t);
}
return 0;
}
哪里有错

是WA了么?样例至少应该是对的吧?

没错啊,运行结果正确的。

m为零怎么办?为一怎么办?为负怎么办?读取m进来以后至少判断一下是否满足条件吧,另外float精度不够,用double。