本题貌似很简单,一遍For就可以过了,但粗心的我因为加法顺序Wa了,哭~~~ PS:因为精度问题,从小到大会运算使某些进位被和谐,所以本题需从大到小累加,注意! 程序很简短…… #include<stdio.h> using namespace std; int main(){ int i,n; double k; while(scanf("%d",&n)!=EOF){ k=0; for(i=n;i>0;i--) k+=1.0/i; printf("%.12f/n",k); } // system("pause"); return 0; } http://acm.fzu.edu.cn/problem.php?pid=1058