#include <stdio.h>
void main()
{
int n;
double t=1.0,s=0.0;
printf("请输入n的值:");
scanf("%d",&n);
for(t=1;t<=2*n;t+=2)
{
t=1/t*(t+1);
s+=t;
}
printf("s=%lf\n",s);
}
输入数据后 没有进行运算
#include <stdio.h>
void main()
{
int n;
double t=1.0,s=0.0;
printf("请输入n的值:");
scanf("%d",&n);
for(t=1;t<=2*n;t+=2)
{
t=1/t*(t+1);
s+=t;
}
printf("s=%lf\n",s);
}
输入数据后 没有进行运算
#include <stdio.h>
void main()
{
int n;
double t=1.0,s=0.0,c;
printf("请输入n的值:");
scanf("%d",&n);
for(t=1;t<=2*n;t+=2)
{
c=1/(t*(t+1)); printf("c=%f",c);
s+=c;
} printf("s=%1f\n",s); } 原程序中t=1/t*(t+1);使得t发生了改变,从而成为死循环(for中t<2*n为条件),所以不同结果;
而1/t*(t+1)的运算顺序为1/t=x;然后再运算x*(t+1)。
没有语法错误呀,我身边没有编译器,没办法给你看了,你试试把每个中间变量都输出来看看行不行