我发现当sum语句在t语句之前是i的循环少了一次,为什么会这个样子??求指教
#include<stdio.h>
void main()
{
int sum=1;
int i;
int t=1;
for(i=2;i<5;i++)
{
t=t*i;
sum=sum+t;
}
printf("%d\n",sum);
}
那么按照你的意思 ,下面的代码只到了1/99?
#include
void main()
{
int i;
float sum=0,t=1,k=1;
for(i=0;i<100;i++)
{
sum=sum+t;
k=k+1;
t=1/k;
}
printf("%f\n",sum);
}
这个代码的意思是1+1/2+1/3+```+1/100,如果是k=k+1;
t=1/k;
sum=sum+t;
的话,那么就是1/2+1/3+```+1/101.
两段代码都是100项相加,你的那段代码是先运行了sum,再运算出t值,那么运算出的t值就用于下一个循环运行sum=sum+t;当i循环到99的时候,那么t就是1/101,但没有下一个循环了,那么这里的t值就不能加进sum