C语言中求级数和

来源:百度知道 编辑:UC知道 时间:2024/09/22 19:39:36
求级数1+2*3+4*5*6+7+8+9+。。。。前5项的和
书上程序是这样的
main()
{int n,i,j;
double f,t,s;
scanf("%d",&n);
s=0,t=1;f=2;i=1;
while(i<=n)
{s=s+t;
t=1;
j=0;
while(j<=i)
{t=t*f;
f++;
j++;
}
i++;
}
输入
5<回车>
运行结果
就出来了
请问 s=0,t=1;f=2;i=1;
t=1时,f是不是等于2了,那不就不对了?
还有j 怎么用得,解释一下。
或者吧整个程序后面的步骤解释一下,万分感谢
对不起,题目输错了
应该是求级数1+2*3+4*5*6+7*8*9*10+。。。。前5项的和

你前面写的那个式子就有问题,怎么又7+8+9了?
从程序来看,最里面的循环是求每一个加数,例如N为5,那么就有5个加数,分5次循环求得这5个加数。由于第一个加数是1,所以循环中没有求第一个加数,而是直接从第二个加数开始求,这也就是你所问的t=1时,f=2,由于j从0循环到i(包含),也就是,也就是i+1个数相乘,例如i=1时,所求加数就是2*3
j就是一个循环控制变量,控制乘数的大小

外面一层循环就是将加数求和