解题思路:
注意事项:
参考代码:
#include<stdio.h>
double mypow(double x, int n);
double fact(int n);
int main(void) {
int i, n;
double x,sn=0;
scanf("%lf %d", &x, &n);
for (i = 1; i <= n; i++) {
sn+= mypow(-1, i-1) * mypow(x, i ) / fact(i);
}
printf("%.4f", sn);
return 0;
}
double mypow(double x, int n) {
double a1 = 1;
for (int i = 0; i < n; i++) {
a1 *= x;
}
return a1;
}
double fact(int n) {
double a2 = 1;
for (int i = 1; i <= n; i++) {
a2 *= i;
}
return a2;
}
0.0分
1 人评分
#include<stdio.h> #include<math.h> double fact(double n) { if(n<=1) return 1; return n*fact(n-1); } double mypow(double x,double n) { int i; return pow(x,n); } int main() { int i,n; double sum=0,x; scanf("%lf%d",&x,&n); for(i=2;i<=n;i++) { sum+=mypow(x,i)/fact(i); } sum-=x; printf("%.4lf",sum); return 0; } 搞不明白为什么答案错误50%
#include<stdio.h> double fact(int n) { int i,N=1; for(i=1;i<=n;i++) N*=i; return N; } double mypow(double x,int n) { int i,X=1; for(i=0;i<n;i++) X*=x; return X; } int main() { double x,s=0; int n; scanf("%lf %d",&x,&n); for(int i=1;i<=n;i++) { s+=mypow(-1,i-1)*mypow(x,i)/fact(i); } printf("%.4lf",s); return 0; } 哪里答案错了 看了半天没发现哪里有问题 233333333333333