C语言博客作业02--循环结构

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语句来控制何时输出。
  • 总结:总体结构思路相同,但最后结果的输出我自认为我的选择更好。
原文地址:https://www.cnblogs.com/243050cz/p/11708499.html