代码改变世界

循环结构

2019-10-20 15:45  pluto1214  阅读(334)  评论(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.使用函数解决问题有时会更方便,且在循环条件的设置上应该更加注意,尽量避免程序运行时间过长