setprecision(n) —— 设置“有效数字”或“小数位数”

  • 作用:告诉流“保留 k 位”。
  • 但到底保留的是“有效数字”还是“小数位数”?取决于 是否配合 fixed(fixed:表示使用定点格式输出)
#include <iomanip>
#include <iostream>
using namespace std;

int main() {
    int n;
    cin>>n;
    float sum=0;
    for (int i =1; i<=n; i++) {
        sum += (float)1 / i;
        //sum += 1.0 / i;
    }
    cout<<fixed<<setprecision(6)<<sum;
    //1 1*2+1/1*2  1*2*3+3+2/1*2*3
    //1  3/2  7/6 30/24 
    //想了半天,原来累加就行了
    //fixed<<setprecision(6)控制小数点后六位
    //注意强制转换得到浮点数 == 1.0/i
}
// 64 位输出请用 printf("%lld")