#i
```c
#include<stdio.h>
#include<math.h>
float sinx(int x, int n);
float sn(int x, int m);
float power(float b, int m);
int fac(int f);
int main() {
int x, n;
printf("x=");
scanf_s("%d",&x);
printf("n=");
scanf_s("%d",&n);
float sum;
sum = sinx(x, n);
printf("sum=%f", sum);
}
float sinx(int x,int n) {
int m = 1;
int i;
for (i = 1; i <= n; i++)
m +=2;
float s;
s = sn(x, m);
return s;
}
float sn(int x,int m) {
float z;
z=power(x, m) / fac(m);
return z;
}
float power(float b,int m) {
float c;
c = pow(b, m);
return c;
}
int fac(int f) {
int s=0;
int k=1;
int i;
for (i = 1; i <= f; i++)
k *= i;
s += k;
return s;
}
```c
不能正确算出sinx的值比如sin1算出来是0.00833
正确算出sinx的值
#include<stdio.h>
#include<math.h>
float sinx(float x, int n);
float sn(float x, int m);
float power(float b, int m);
int fac(int f);
int main() {
float x;
int n;
printf("x=");
scanf("%f", &x);
printf("n=");
scanf("%d", &n);
float sum = sinx(x, n);
printf("sum=%f", sum);
}
float sinx(float x, int n) {
int m = 1;
int i;
float s = 0;
for (i = 1; i <= n; i++){
s+=pow(-1,i+1)*sn(x, m);
m += 2;
}
return s;
}
float sn(float x, int m) {
float z;
z = pow(x, m) / fac(m);
return z;
}
int fac(int f) {
int k = 1,i;
for (i = 1; i <= f; i++)
k *= i;
return k;
}