满意答案
lgfjx
2014.01.17
采纳率:58% 等级:9
已帮助:362人
#include <stdio.h>
#include <math.h>
void main()
{
int i;
float a,e,x;
printf("请输入x的值: ");
scanf("%f",&x); /*浮点型,应当用%f*/
e=1; /*第一项是0的阶乘,为了编程方便,这里直接给出第一项的值*/
i=0;
a=1;
while(a>1e-6) /*这个不应当有分号*/
{
i++;
a=a*x/i; /*这一项应当是x^i/i!*/
e=e+a;
}
printf("exp(x)=%f\n",exp(x));
printf("循环次数为: %d次, e的x次方为:%f\n",i,e);
}
二题:
#include <stdio.h>
#include <math.h>
void main()
{
int i,j,n=0; /*f是计算阶乘的,建议用浮点*/
float a,e,x,f;
printf("请输入x的值: ");
scanf("%f",&x);
e=1;
i=1;
a=1;
f=1;
while(a/f>1e-6)
{
for(a=1,f=1,j=1;j<=i;j++) /*这里的a也要初始化到1*/
{
f=f*j;
a=a*x;
n++;
}
e=e+a/f;
i++;
}
printf("exp(x)=%f\n",exp(x));
printf("循环次数为: %d次, e的x次方为:%f\n",n,e);
}
00分享举报