今天一天是关于while语句的加深学习,通过对于while语句的一些基本的了解也发现了一些新的问题。我自己把他总结下来,以便于以后的学习和回顾。
1.用*号打印菱形
这个问题其实和昨天的等腰三角形差不多,就是打印一个等腰三角形和一个倒等腰三角形。但需要注意的就是从何时开始打印倒等腰三角形(从i/2开始)。这时候输入的空格数变成了i-10;另外*好的输出也变成了39-2*i。我这里以19行为例的具体问题还是要具体分析的。因为循环语句比较多,但只是对于我这种初学者来说。还是要注意书写规范,避免出错。
2.水仙花数
水仙花数双循环结构,k=j%10;j=j/10;这个循环结构要学会使用 我已开始的方法是比较笨拙的。我对这个数进行了求各个位数的操作,那三位数来举例。a=num%10;num=num/10;b=num%10;c=num/10;最后通过公式sum=a*a*a+b*b*b+c*c*c,说到这里我也范了一个很愚蠢的错误,a*a*a*我试图写成a^3这不是c语言可以识别的。这种方法对于位数多的自幂数来说是比较麻烦的。注意将i的值赋予j,另外第二个while中的判断条件是j>0.这些都是我需要注意的点。
3.最小公约数和最大公倍数
这就是运用一个while循环加上一个if的判断语句。blog.csdn.net/iwm_next/article/details/7450424
通过这道题也让我有了一点拓展,出来穷举法求出最大公约数,还可以利用取余法和相减法。
4.鸡兔同笼
鸡兔同笼问题相对来说比较简单,就是一些数学公式的运用。if里面的相等一定要双等。