最近在刷老师在头歌上发的题(关于循环结构)
1.首先是求最大公倍数问题:
错点:最先想到的是通过for循环解题,先将其中一个数循环从大到小找出因数,在这个数的循环中又添加另一个数的循环找出因数比较是否相等。这个思路比较繁琐,而且写出来的代码不好实现只找出“最大”,且需要定义许多个变量,运行效率不高。
改进:使用while循环,思路改为找其中一个数的因数,用for循环由小到大找,再挨个去和另一个数看是否整除。
大概是这样。
2.如何判定一个字符是否为字母:
上学期学了python,其中判断字符是不是字母时用的是“in ”来表示,而在c语言当中则是用的大于和小于符号判定字符范围
如上图。
3.当在循环中累乘或累加时,需要反复用到一个变量时需要将这个变量定义在循环内部,如果是一开始就初始化,则达不到循环利用的结果。
如键盘输入正整数a
和n
,编程 s=a+aa+aaa+aaaa+aa...a
(n
个a
)的值。则需要运用两个循环实现累乘与累加:
其中x则需要定义在第一个循环内以便于第二个循环能够反复利用实现累加累乘。