解题思路:
注意事项:阶乘函数参数n需定义为double类型,否则会出现答案错误50%
参考代码:
#include <stdio.h>
int main()
{
double mypow(double x,double n);
double fact(double n);
double x;
scanf("%lf",&x);
double n;
int j;
scanf("%lf",&n);
double sum1=0,sum2=0,sum=0;
for(j=1;j<=n;j++)
{
if(j%2==0)
sum1+=(-1)*mypow(x,j)/fact(j);
if(j%2!=0)
sum2+=mypow(x,j)/fact(j);
}
sum=sum1+sum2;
printf("%0.4lf",sum);
return 0;
}
double fact(double n)
{
double j;
if(n==0||n==1)
{
j=1;
}
if(n>1)
{
j=n*fact(n-1);
}
return j;
}
double mypow(double x,double n)
{
int i;
double t;
t=x;
for(i=1;i<n;i++)
{
x*=t;
}
return x;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:516 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:969 |
Pascal三角 (C语言代码)浏览:1189 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:601 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:619 |
简单的a+b (C语言代码)浏览:606 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:576 |
【计算两点间的距离】 (C语言代码)浏览:1494 |
1009题解浏览:752 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:476 |