多种方法实现同一个功能,可以调动你学的所有知识去做,有助于你学的融会贯通。
下面举例来看:
实现功能:求一个整数的位数;
实现语言:C语言;
开发环境:Visual Studio 2017
如:3215是4位数
实现原理:
3215/10 = 321 ----1位数
321/10 = 32 ----又是1位数
32/10 = 3 ----又是1位数
3/10 = 0 ----又是1位数
共4位数,且终止计算条件是/10结果为0的时候;
根据这个原理,先写一个最笨的原始方法:
效果:
这种实现方案没有移植性可言,下面封装成函数:
效果:
此乃方法2;
方法3,把函数体里面使用do..while实现
效果:
方法4:把函数体使用for实现:
效果:
方法5:把函数体使用递归实现:
效果:
方法6:把函数体使用goto实现:
效果:
结论:一个功能可以多种方法实现,试图用多种方法去实现,会让你的学习变得主动和积极起来。学习在于思考,思考后再动手,事半功倍...
当你用多种方法去实现的时候,你慢慢发现C语言就好爽起来了...
转载于:https://blog.51cto.com/ningcaichen66/1967052