0.展示pta分数
0.2单循环结构
0.1循环嵌套
1.本章学习总结(2分)
1.1for语句
1.1.1形式:
for (表达式1;表达式2;表达式)
循环语句;
1.1.2运用截图
1.1.3注解:
- 表达式1(n=1)为给循环变量赋初值;
- 表达式2(n<=N)为条件表达式,给出循环条件;
- 表达式3(n++)为步长表达式,改变循环变量的值;
- 循环语句只能是一条语句,若欲执行多个操作,可将几个语句用大括号括起来,在语法复合句被认为是一条语句;
- 若循环正常结束,n的值最后将为N+1;
1.2while语句
1.2.1形式:
while(表达式)
循环语句体;
1.2.2运用截图
1.2.3注解
- 表达式可以是一切合法的语句;
- 循环体书写注意点和for语句相同;
1.3do-while语句
1.3.1形式:
do
{
循环体语句
}while(表达式);
1.3.2运用截图
1.3.3注解
- 它先执行循环体后再判断循环条件,也就是说不管表达式是否成立,总会先执行一次循环体语句;
- 表达式是任何合法的语句;
1.4总结三种形式
- 若给定了循环次数(循环次数明确),首选for语句;
- 若需要通过其他条件控制循环,则选择while语句或do-while语句(若需先进入循环,则选do-while语句);
1.5循环中断语句
1.5.1break语句
- 将其放入循环体体语句可使循环提前结束退出切不再进入。
注:break语句也可用于分支结构中的switch语句。
1.5.2continue语句
- 将其放入循环体可使其后续的过程被跳过但是下次循环依然继续。
1.5.3恒循环
- 循环语句判断的表达式若填入一个非0的常数,如1,2,3,可使循环无限。
1.2本章学习体会
1.2.1本章最大的体会就是,运用循环语句解决问题时,三种循环语句的选择和循环体语句的编写非常重要,前者要根据问题的要求不同来判断选择,后者将决定你问题是否得到解决,如果编写不当,将可能导致循环超时(恒循环)或者累乘与累加乘结果错误,由于在进行pta题集练习发生的错误太多,我深刻体会到了学习内容难度的加深,需要我保持一颗耐心,摒住耐性,来仔细探索和纠错
1.2.2本章代码量大约为756(只记录pta提交代码量,并且不包括修改代码量)。
2.PTA实验作业(6分)
2.1念数字
2.1.1伪代码
定义变量储存各量
输入数字
如果数字<0,变号,并且flag2=1(作为其为负数的标志);
用一个中间变量temp存储输入值
用do-while语句计算输入的数有几位
若flag2=1,输出fu
将个位数和最大位数取出来并且用分支结构来念最大位数
将除最大位数和个位数外的中间数用for循环重复取出再念出来
最后将个位数念出来
2.1.2代码截图
2.1.3营造测试数据
-1,-123,0,123456789,1230,
2.1.4提交说明
答案错误:输出时最后一位后面多了空格
2.2编程打印空心字符菱形
2.2.1伪代码
定义各变量存储有关数值
输入第一个字母和菱形高度
高度一半=总高度加一除以二
用switc语句选中层的上面一行的中间空格数
用for语句来输出每一行,由总行数height决定次数
{
分支一:上半部分根据规律输出每一行前面的空格
输出字母
第二行开始到中间行根据规律输出空格数并且Ascll加上1
将下半部分另外处理,分支二:
如上部分
}
将最后一行另外处理,由于其后面不能换行
2.2.2代码截图
2.2.3营造测试数据
A与3,G和9
2.2.4提交说明
答案错误:由于数值处理不当(上半部分过度到下半部分时),导致中间两行的字母一样。
修改:过度时对Ascll码数值减去1。
2.3换硬币
2.3.1伪代码
定义各变量储存相关值
输入总金额sum
5分最大个数=总金额/5
2分最大个数=总金额/2
1分最大个数=总金额数
for循环嵌套筛选每种可能性,,输出符合条件的情况
2.3.2代码截图
2.3.3营造测试数据
8,13
2.3.4提交说明
部分答案错误:由于没认真审题,即没注意到要求从大到小的顺序,发生了错误。
解决:修改了for循环表达式,使循环数从大到小递减。
3.代码互评
3.1同学代码截图
3.2自己代码截图
3.3分析总结
- 相同点:都设置了一个count变量用于储存素数个数,并且都将第一个素数的输出形式另外处理,都运用了break语句,只要余数为零直接退出循环。
- 不同点:我将最后的素数和放在循环外输出,而他将其放在循环里,并且用了一个if语句来控制何时输出。
- 总结:总体结构思路相同,但最后结果的输出我自认为我的选择更好。