#include <stdio.h> int main() { int n = 0, i = 0; double sum = 0.0; scanf("%d", &n); //float类型变量仅精确到小数后六位,第六位可能不准确 //double类型精确到小数后15位,第六位是准确的 for (i = 1; i <= n; i++) { sum += 1.0 / (double)i; } printf("%.6lf", sum); return 0; }