#include <stdio.h>
#include <math.h>
double result=0;
const double aa=0.000001;
int sum(int b){
// printf("first %d,%f,%d\n", b,double(1/ double(b*b)),1/double( b*b)>aa);
if(1/double( b*b)>aa){
// printf("first222 %d,%f\n", b,double(1/ double(b*b)));
result=result+double(1/double(b*b));
b++;
// printf("middle %d,%f\n", b,result);
sum(b);
}
else{
return 0;
}
}
int main()
{
int inx=1;
sum(inx);
printf("last %f\n", result);
printf("%f\n",sqrt(result*6) );
return 0;
}
已测,这里面有一点点问题,你可以把注释打开自己看一下,这个问题我也不好说是语言规则的问题还是编译器的问题,你要是能发现就看看,发现不了也无所谓