C语言初学书中一个难题

书中说,算1x2x3x4x5x6x7x8x9x10,如果一个一个的乘,则需要乘10下,算法非常繁琐,
所以用简便方法算:
S1:1=>P
S2:2=>i
S3:p*i=>p
S4:i+1=>i
S5:"若i>10,结束;否则返回S3."
这样往返循环不也要10下吗?怎么会说比上面这个简便呢?请教高人!

算1x2x3x4x5x6x7x8x9x10,如果一个一个的乘
这个的意思是指
定义一个变量num = 1;
第一步:num = num*2;
第二步:num = num*3;
......
这样子你写10个数相乘,就得写9行乘法计算的代码。如果变成100个数相乘,就得写99行乘法计算的代码。
而如果用循环来做,无论是多少个数相乘,都是一个循环,只要写大概两三行代码就行了,简便就是指这个。同时这也是一种算法思想,相似的操作使用循环来做,麻烦的是电脑,因为他肯定循不循环都是做差不多的工作,但编程人员的工作就少很多了,而且也不容易出现手误之类的错误。
就跟学写数字一样,写一画是一,写两画是二,如果这样下去万不就是得写一万画了?所以要写成“万”而不是真去写一万画。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-16
这个是代码量的问题
用循环的方式可以让代码变得简洁~~
相似回答