谭浩强C语言问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:08:37
【例2.1】求1×2×3×4×5。
最原始方法:
步骤1:先求1×2,得到结果2。
步骤2:将步骤1得到的乘积2乘以3,得到结果6。
步骤3:将6再乘以4,得24。
步骤4:将24再乘以5,得120。
这样的算法虽然正确,但太繁。
改进的算法:
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;否则,算法结束。

谁可以跟我解释一下这句话(谢谢了)
特别是:使t×i, 乘积仍然放在在变量t中,可表示为t×i→t是什么意思? t×i为什么等于t啊?

c语言中"="不是等于号,表示赋值
把t*i的值重新赋值给t
c语言中“==”是等号

= 不是等于的意思 是赋值的意思 比如 t=2 t=t*2 经过运算侯 t的值就是4了 明白了么?

看了程序就会很清楚了吧
整段话描述的意思就是下面的两种方法(t放最后的结果)
(1)
t=1*2*3*4*5;
(2)
int i;
int t=1;
for(i=1;i<=5;i++)
{
t=t*i;
}

t×i→t 就是t与i相乘的结果赋值给t,这样下一次计算的时候t的值就是上一次运算的结果
同理,i+1->i也是这个意思,i的值每一次都比计算之前加了1

将t的值拿出来,乘上i,再放回去。
以上,完美解释

步骤1:先求1×2,得到结果2。//t=1,i=2,t=t*i得到t=2;

步骤2:将步骤1得到的乘积2乘以3,得到结果6。 //t=2,i=3(i=2+1)得到t=6;
步骤3:将6再乘以4,得24。
//t=6,i=4(i=3+1)t=24
步骤4:将24再乘以5,得120。//t=120