正在学循环结构吧?多实践操作多看别人的代码就好了。如果是C代码或者对我的代码有什么疑问,Hi我,我会修改。我的答案仅供参考:
》for》》:
#include
#include
using namespace std;
int main(void)
{
double x;
double jiecheng=1;//计算阶乘
int i,t=1;//令t的初值为1,当n为奇数时,t=1,否则t=-1,将t乘到每项上
double sum=1,xn;//sum累加级数各项之和,xn计算x的n次方,由于sum、xn的值都有可能较大,所以定义成double型比定义成int型好
cout<<"输入x的值:(正负值均可,但不宜过大)"<
xn=x;
for(i=1;fabs(xn/jiecheng)>=1e-8;i++)
{
jiecheng=jiecheng*i;
sum=sum+t*xn/jiecheng;
xn=xn*x;
t=-t;
}
cout<
}
》while》》:
#include
#include
using namespace std;
int main(void)
{
double x;
double jiecheng=1;//计算阶乘
int i,t=1;//令t的初值为1,当n为奇数时,t=1,否则t=-1,将t乘到每项上
double sum=1,xn;//sum累加级数各项之和,xn计算x的n次方,由于sum、xn的值都有可能较大,所以定义成double型比定义成int型好
cout<<"输入x的值:(正负值均可,但不宜过大)"<
xn=x;
i=1;
while(fabs(xn/jiecheng)>=1e-8)
{
jiecheng=jiecheng*i;
sum=sum+t*xn/jiecheng;
xn=xn*x;
t=-t;
i++;
}
cout<
}
推荐一段代码:
求e的近似值
e=1+1/1!+1/2!+1/3!+......
》(while循环)》》:
#include
void main()
{
double e=1;
double jc=1;//求阶乘,并存入jc中
int i=1;
while(1/jc>=1e-6)
{
e=e+1/jc;
i++;
jc=jc*i;
}
cout<<"e="<
》for》》:
#include
void main()
{
double e=1;
double jc=1;//求阶乘,并存入jc中
int i;
for(i=1;1/jc>=1e-6;i++)
{
e=e+1/jc;
jc=jc*i;
}
cout<<"e="<
其实for循环更好用。这两个循环结构相互转化是可以的(多看看书,多做做这一章的课后题)。建议您先看我给您推荐的代码,再亲自试着编写你的题目。祝你进步!我的回答有什么要改进的,Hi我!恭候。
出这道题的是个教育部的 虐待狂...
哥们,帮不了你了...汗颜..
#include
#include
void main()
{
double x,sum1,sum2,a;
int i,f=-1;
printf("Input x:");
scanf("%lf",&x);
for(i=2,sum1=1+x,a=x;fabs(a)>1e-8;i++)
{
a=f*a*x/i;
sum1+=a;
}
printf("sum1=%lf\n",sum1);
sum2=1+x;i=2;a=x;
while(fabs(a)>1e-8)
{
a=f*a*x/i;
sum2+=a;
i++;
}
printf("sum2=%lf\n",sum2);
}
#include
int main()
{
int a,b,c,i=-1;
long int d=1,e=1;
float f,g=1;
printf("输入x:");
scanf("%d",&a);
f=a;
for(b=1;f>1e-10;b++)
{
for(c=1;c<=b;c++)
{
d=a*d;
e=c*e;
i=i*(-1);
}
f=d/e;
g=g+i*f;
}
printf("%f",g);
}