C语言书中算法

来源:百度知道 编辑:UC知道 时间:2024/05/20 23:40:49
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

算法是解决问题的方法
上面写的是很多很多方法中的一种
你自己也可以用其它方法,所以,上面出现这样的算法其实并不用问为什么
也许作者是为了让你理解循环,或是其它什么~

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

本质就是从左到右算
你可以看到这样只用了两个变量
这种将问题一步一步解决的思想是你以后经常会见到的
以后看多了这种算法你就能很好地理解了

首先‘=’是赋值。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的阶乘。

它的意思是 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;

main()
{int t=1;
for(i=2;i++;i<=5)
t=t*i;
}