C语言书中算法

C语言算法里 1x2x3x4x5
S1: 使t=1
S2: 使i=2
S3: 使t×i, 乘积仍然放在在变量t中,可表示为t×i→t
S4: 使i的值+1,即i+1→i
S5: 如果i≤5, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。

什么意思 我就是搞不懂为什么要这样算 我初学C

第1个回答  2009-09-01
这是一种比较高效的算法
S1 t=1
S2 i=2
S3 t*i=2 再把这个值赋给t,现在 t=2
S4 改变i的值,使i的值增加1
S5: 如果i≤5, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。

本质就是从左到右算
你可以看到这样只用了两个变量
这种将问题一步一步解决的思想是你以后经常会见到的
以后看多了这种算法你就能很好地理解了
第2个回答  2009-09-01
它的意思是 S3说的t*=i 相等于t=t*i 然后 S4说的相当于i++
接着S5的意思是 i<=5 就继续执行 S3 S4 S5 的步骤
当i>5的时候就不再执行
S1 S2 相当于定义了 int t,i; t=1,i=2;

参考资料:如果您的回答是从其他地方引用,请表明出处

第3个回答  2009-09-01
算法是解决问题的方法
上面写的是很多很多方法中的一种
你自己也可以用其它方法,所以,上面出现这样的算法其实并不用问为什么
也许作者是为了让你理解循环,或是其它什么~本回答被提问者采纳
第4个回答  2009-09-01
首先‘=’是赋值。t,i都是不断在变化。
比如,t=1,i=2,t=1*2,...此时i=2+1,得i=3;i<5反回去。
t=(1*2)*3,...i=3+1,i<5,又回反回去循环。
。。。。。。。。。
最后得的就是5的阶乘。
第5个回答  2009-09-01
main()
{int t=1;
for(i=2;i++;i<=5)
t=t*i;
}