刚开始是用的+=,样例过不了,改成=就过了,好奇怪。。。 #include <stdio.h> int main() { int m,n,flag,i; double ans,j; while( scanf("%d",&m)!=EOF ) { for(i=0;i<m;i++) { scanf("%d",&n); ans = 1; flag = -1; for(j=2;j<n+1;j++) { ans = ans + (flag*(1/j)); flag = flag * (-1); } printf("%.2f/n",ans); } break; } return 0; }