C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。
解决时间 2022-01-01 07:59
- 提问者网友:骨子里的高雅
- 2021-12-31 14:21
x-x²/2!+x³/3!-x^4/4!+...+[(-1)^(n-1)](x^n)/n!
要求定义和调用两个函数,fact(n)计算n的阶乘,mypow(x,n)计算x的n次幂,两个函数的返回值类型都是duoble。
#include
void main()
{
double s=0;
int x,n,i;
printf("请输入x和n的值:");
scanf("%d%d",&x,&n);
double fact(int n);
double mypow(int x,int n);
int a=1;
for(i=1;i<=n;i++)
{
s=s+a*mypow(x,i)/fact(i);
a=-a;
}
printf("%f",s);
}
double fact(int n)
{
int i;
double result=1;
for(i=1;i<=n;i++)
{
result*=i;
return result;
}
}
double mypow(int x,int n)
{
int i;
double m=1;
for(i=1;i<=n;i++)
m=m*x;
return m;
}
哪错了?得不到正确答案。。
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-12-31 15:42
double fact(int n)
{
int i;
double result=1;
for(i=1;i<=n;i++)
{
result*=i;
return result; //这里不能return,这里循环还没结束。
}
//应该在这里return result;
}
全部回答
- 1楼网友:污到你湿
- 2021-12-31 16:24
#include "stdio.h"
#include "math.h"
int jiecheng(int i)
{
int k = 1;
while(i>=1)
{
k*=i;
i--;
}
return k;
}
void main()
{
printf("请输入一个x和n\n");
double x,sum=0,elem=0;
int sign = 1;
scanf("%lf,%d",&x,&n);
int i = 1;
for (i=0;i<2*n;i++)
{
int k = jiecheng(i)
elem = sign*pow(x,i)/k;
sum+=elem;
sign*=-1;
i++;
}
printf("%lf",sum);
}
我要举报
大家都在看
推荐资讯