a/n,2个int相除,结果是int,小数被丢弃。因此你这里term一直为零。
#include<stdio.h>
#include<math.h>
int main()
{
double PI,sum = 0,term = 1.0;
int a = 1,n = 1;
while(fabs(term) > 1e-6){
term = a / (1.0 * n);
sum = sum + term;
a = -a;
n = n + 2;
}
PI = sum * 4;
printf("Π=%lf",PI);
return 0;
}
题目要求最后一项的绝对值小于10的-6次方。
而你的程序while循环终止条件是大于10的-6次方。
最好把term赋个初始值