大佬们帮我看看哪里错了?我应该改哪里啊?
#include <stdio.h>
#include <math.h>
int factor(int n)
{
if (n == 0)
return 1;
int r = 1;
for (int i = 2; i <= n; i++)
r *= i;
return r;
}
float f(float x, int n)
{
if (n == 0)
return x;
int m = 2 * n + 1;
float r = pow(x, m) / (m * factor(n));
return n % 2 != 0 ? -r : r;
}
float s(float x)
{
float r = 0.0f;
for (int i = 0; i < 10; i++)
r += f(x, i);
return r;
}
int main()
{
float x;
scanf("%f", &x);
printf("%.2f\n", s(x));
return 0;
}