这是我的代码
求哪错了
而且为什么用不了double定义sum变量呢
什么时候是系统默认科学记数法表示呢
只有double还是都可以(在数字大的情况下)
你用int类型来计算就溢出,应该用double类型来计算
#include <iomanip>
#include <iostream>
int main() {
double sum = 0.0, f = 1.0;
for (int i = 1; i <= 30; i++) {
f *= i;
sum += f;
}
std::cout << std::scientific << std::setprecision(2) << sum << std::endl;
return 0;
}
把sum,m,i都定义成double,然后输出用printf(".2lf",变量名)
sum你定义的是int,改为double