循环

 

 

一、PTA实验作业

题目1:求交错序列前N项和

1.本题PTA提交列表

 

2.设计思路

需要定义sum=0来实现求和,定义flag=1来实现序列中元素符号的变化。

调用for 语句,进行循环求和,当 i 不满足条件时,跳出循环。

求和时注意要乘以1.0才可得浮点型结果。

3.本题调试过程碰到问题及PTA提交列表情况说明。

错误一:没按pta 格式要求来,前面多加了一个printf, 后面printf 时多了sum。

 

题目2:最大公约数和最小公倍数

 1.本题PTA提交列表

2.设计思路

要求最大公约数和最小公倍数,因为最小公倍数为两数相乘除以最大公约数,所以只要求出最大公约数即可。

用while 循环,让两数中大的数除以小的(若x<y则交换它们的位置),然后取余,再让小的数除以余数.....

这样循环直到余数不为零,跳出循环。则最大公约数即为最后一个被除数,最小公倍数为两数相乘除以最大公约数。

3.本题调试过程碰到问题及PTA提交列表情况说明。

错误一:没弄清楚这道题的思路,没有通过最大公因数求最小公倍数,错认为只要两个数同除一个数,余数为零即可。

想用两个循环就找出最大公因数和最小公倍数,实际上要先求最大公因数才可求最小公倍数。

 错误二:用for循环解出最大公因数和最小公倍数,但是最后输出时,pta要求同一行输出,而我打成两行输出,导致格式错误不得分。

 

 

题目3:大笨钟

 1.本题PTA提交列表

 

2.设计思路

本题要分两种情况考虑,一种是后半天的时候会敲一到十二下,午夜到中午不敲。

因此输入一个时间段,判断当h<12包括端点时,不敲钟,另一种情况再分两种,整点和不是整点。分支和循环相结合即可。

 

 

3.本题调试过程碰到问题及PTA提交列表情况说明

错误一:边界的问题没有考虑清楚,不敲钟时的整点没有考虑进去。还有后半夜敲钟的情况下,24点时是不敲的。

把端点问题写清楚即可。

错误二:不敲钟的时候漏考虑了一种情况,12整点和小于12时,应补充进去。

 

错误三:12点和零点的边界问题。

 

二、同学代码结对互评

我跟依琳思路差不多,她是利用while循环,不断的找最小公倍数,然后再将这个分数除以这个最小公倍数

求出最简分数;我找的条件跟我的不同,思路是相似的,我比较喜欢我的程序。

 三、本周题目集的PTA最后排名

 

四、本周学习总结

 1、我学会了什么

通过对循环结构的学习,知道了if 和for 的嵌套使用

for和while都可以实现循环,for语句和while语句都是在循环前先判断条件,只有条件满足才会进入循环;

而do-while则是先进行第一次运算,再判断是否满足条件,若满足,则进行下一次循环;若不满足,就跳出whlie循环。

break的作用是直接跳出当前循环,continue的作用是直接进行下一次循环

知道switch的用法,他的作用与if分支结构的作用一致。在进行某些运算时,会比if 结构来的简单。

 2、不会的地方

pta上的查验身份证和阅览室等题目还不会写,还不会灵活运用switch 来解题,对复杂的多重循环还不太熟悉。

无法很熟练地判断如何使用多重循环,会混淆多重分支的判断。

3、循环考试总结

 (1).哪题做错了,怎么改?

7-13 求单词长度的题目没有得满分,一开始没有思路,后来问了舍友思路,自己尝试写了几遍,但后来还是没有找出没有满分的原因。

7-28 近似求PI,经过编译错误,答案错误和格式错误一系列的错误后,修改了之前出现的细节处的错误,才得到了满分。

(2)考试结果满意么,怎么改进?

很不满意,由于对知识点不熟悉,时间不够等原因,导致在考试中出现了一些概念还有程序循环过程判断上的错误。还有些题是会做的,因为粗心和遗忘也没有写出来。

总之,还是要靠多打代码来提升自己的思路,多看书熟悉知识点。

 

 

posted @ 2017-12-28 21:33  linzhiyi  阅读(312)  评论(0编辑  收藏  举报