永发信息网

c++求近似值e^x=1+x+x^2/2!+x^3/3!+.........共20项

答案:3  悬赏:20  手机版
解决时间 2021-04-27 15:55
  • 提问者网友:嘚啵嘚啵
  • 2021-04-27 08:48

这是我的程序 编译 连接都没问题 就是调试时有如图情况 请高手指教

#include<stdio.h>
float f1(int n,int k);
float f2(int k);
void main()

{
int k,n;
float r,s,t;
scanf("%f\n", n);
r=1;
for(k=1;k<=20;k++)
{ s=f1(n,k);
t=f2(k);
r=r+s/t;
}
printf("%f",r);
}

float f1(int n,int k)

{
int i;
float p;
p=1;

for(i=1;i<=k;i++)
p*=n;
return p;

}


float f2(int k)
{
int i;
float q;
q=1;
for(i=1;i<=k;i++)
q*=i;
return q;
}

最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-04-27 09:42

#include<stdio.h>
float f1(int n,int k);
float f2(int k);
void main()
{
int k,n;
float r,s,t;
scanf("%d", &n); // 这里LZ写错了··n是int类型的,也没必要加换行的。。这样行了··
r=1;
for(k=1;k<=20;k++)
{
s=f1(n,k);
t=f2(k);
r=r+s/t;
}
printf("%f",r);
}


float f1(int n,int k)


{
int i;
float p;
p=1;

for(i=1;i<=k;i++)
p*=n;
return p;

}
float f2(int k)
{
int i;
float q;
q=1;
for(i=1;i<=k;i++)
q*=i;
return q;
}

全部回答
  • 1楼网友:等灯
  • 2021-04-27 11:42
输入的时候的问题,改为scanf("%d", &n);就可以了。
  • 2楼网友:末日狂欢
  • 2021-04-27 10:46

#include<stdio.h> float f1(int n,int k); float f2(int k); void main()

{ int k,n; float r,s,t; scanf("%f\n",n); //少个&,而且你定义的n为整型,而在格式化输入时却的是f,应该改为d

r=1; for(k=1;k<=20;k++) { s=f1(n,k); t=f2(k); r=r+s/t; } printf("%f",r); }

float f1(int n,int k)

{ int i; float p; p=1;

for(i=1;i<=k;i++) p*=n; return p;

}

float f2(int k) { int i; float q; q=1; for(i=1;i<=k;i++) q*=i; return q; }

不知道这个结果可对,不对,那就是你的算法,或者其他有问题

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯