循环结构
2019-10-20 15:45 pluto1214 阅读(342) 评论(0) 编辑 收藏 举报0.展示PTA总分
1.本章学习总结
1.1学习内容总结
- 循环结构可以使程序重复执行某些操作,例如数列求和,输出100到1000的水仙花数
- 循环语句有for,while,do while
- 当循环次数和循环条件比较清楚时,一般使用for语句,而当循环次数为某个条件时,一般使用while或do while语句,例如数列求和中当某一项小于某个值时,结束
- do while语句至少循环一次,先循环后判断条件,可用来判断某个数有几位数
- for语句为(表达式1;循环条件;表达式2;)加上循环体语句
- for语句后不加;且循环体语句只能是一条语句,如有多条语句,要用大括号
- while语句后不加;而do while后的while要加;
- 循环中常用break来结束循环,用continue来跳过当次循环中后面的语句,但不跳出循环
- break只能用于switch和循环语句,而continue只能用于循环语句
1.2本章学习体会
1.循环结构比顺序结构要更难更复杂,题目难度也比较大,需要更多的时间练习
2.循环结构的题目需要更多时间解答,例如龟兔赛跑,较容易出错,但多花一些时间总能更理解题目
3.两周代码量大概550行
2.PTA实验作业
2.1 题目名1龟兔赛跑
2.1.1 伪代码
数据处理:定义了时间T,兔子路程sRabbit,乌龟路程sTortoise,变量i
比较sRabbit和sTortoise的大小,而两个路程又随着时间而变化,便想到需要循环
for( i=1;i<=T;i++ )
{ 兔子的路程=兔子的路程+9;
乌龟的路程=乌龟的路程+3;
if(i%10==0){
if(i+30>时间)
{乌龟的路程每分钟累加}
else{
乌龟的路程+90;i=i+30;
}
}
}
然后再在for语句中填写代码
2.1.2 代码截图
2.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
242 | @_@ 726 | 题目要求数据 |
10 | _ 90 | 兔子赢的数据 |
60 | -_- 180 | 平局的数据 |
2.1.4 PTA提交列表及说明
1.前两次答案错误都是由于在兔子休息的时候没有把i加上30
2.第三次答案错误是没有条件,即当i+30>T时,i不能加30
3.第四次答案错误是没有用break跳出循环
2.2 题目名2二进制转十进制
2.2.1 数据处理
1.定义了flag来控制输出结果,op储存字符型数据,sum储存十进制数
2.2.2 代码截图
2.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
11111111 | 255 | 题目要求数据 |
34 | error input! | 题目要求的数据 |
1000 | 8 | 有零的数据 |
2.2.4 PTA提交列表及说明
1.编译错误是由于大括号漏了
2.部分正确是因为没有输出error input的语句情况
2.3 题目名3
2.3.1 数据处理
定义N为输入的数字,i,k为外循环和内循环的控制变量,sum为乘积的结果
2.3.2 代码截图
2.3.3 造测试数据
题目要求的数据
最小数1
最大数9
2.3.4 PTA提交列表及说明
第一个多种错误错误是由于没有用-4d使输出结果左对齐,且i,k位置颠倒,使相乘的两位数颠倒
第二个部分正确是i,k位置颠倒,使相乘的两位数颠倒,所以只有1*1=2对
3.代码互评
1.图二同学的解题方式用了函数,而我是用嵌套循环,其代码更简洁有序
2.图三同学跟我一样的方法,但其循环条件使循环次数增多,使程序运行时间更长
3.使用函数解决问题有时会更方便,且在循环条件的设置上应该更加注意,尽量避免程序运行时间过长