这题有毒。要用long double定义,以及cout控制格式输出。
#include<cstdio> #include<cstring> #include<cmath> #include <iomanip> #include<iostream> #include<algorithm> using namespace std; long double f(int a) { long double sum=0; for(int i=1;i<=a;i++) sum=sum+(long double)1.0/i; return sum; } int main() { int n; while(~scanf("%d",&n)) { cout << fixed <<setprecision(12) << f(n) << endl; } return 0; }