题目内容:计算并输出s的值。s的计算方法见下式,其中m为实数,其值由键盘读入。计算时,要求最后一项的绝对值小于1e-4,输出结果保留两位小数。
输入格式: 实数m,格式控制串为"%lf"
输出格式: 式子的值,输出格式控制串为"%.2f\n"
为什么我的代码是错的
#include
#include
int main() {
int i = 0, g = 0, j = 1;
double m = 0, s = 0, k, h = 1;
scanf_s("%lf", &m);
for (i = 1; h >= 1e-4; i++)
{
for (g = 1; g <= i; g++)
{
j *= g;
}
h = (pow(-1, i + 1)) * (pow(m, i) / j);
k = h;
if (h < 0) { h = -h; }
s += k;
}
printf("%.2f\n", s);
return 0;
}
scanf("%lf", &m);