zoukankan      html  css  js  c++  java
  • 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语句来控制何时输出。
    • 总结:总体结构思路相同,但最后结果的输出我自认为我的选择更好。
  • 相关阅读:
    简单实现Http代理工具
    Silverlight+WCF 新手实例 象棋 棋子(三)
    Qt for S60 安装
    简单实现Http代理工具完善支持QQ代理
    openSUSE 11.2 初用与上网设置
    简单实现Http代理工具端口复用与QQ代理
    QT 智能提示设置
    Solaris 10 x86 继续折腾Mono
    Silverlight+WCF 新手实例 象棋 介绍(一)
    Qt Creator 运行s60 Emulator
  • 原文地址:https://www.cnblogs.com/243050cz/p/11708499.html
Copyright © 2011-2022 走看看