zoukankan      html  css  js  c++  java
  • C语言|博客作业09

    |
    -|-|
    这个作业属于哪个课程|C语言程序设计1
    这个作业的要求在哪里|http://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10032
    在这个课程的目标是| 编写小程序
    参考文献|《C 语言程序设计》《C Primer Plus》

    1. PTA实验作业

    1.1 题目名1:找完数

    完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。

    1.1.1 数据处理

    数据处理:

    begin
    定义变量n,m,i,j,sum,num=0;
    input m,n;
    进入嵌套循环;
    for(i←m;i<=n;i++);
    {
    if(i1) continue;(1不是完数)
    sum←1;
    for(j←2;j<i;j++); (因子数之和)
    if(i%j=0)则sum=sum+j;
    if(sum=i)
    for(j=2;j<i;j++) if(i%j
    0)则printf j;(每一项都有1,再加上后面因子)
    num++ ;(num是用来统计出现的完数个数 )
    if num=0则output“None”;
    end

    数据表达:定义变量n,m,i,j,sum,num=0;通过表达式if(i1) continue,m=1不是完数直接跳出循环输出None;通过j=2;j<i;j++、sum=sum+j和i%j0逐行输出给定范围内每个完数的因子累加形式的分解式。

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    1 3 None 1不是完数
    3 5 None 区间内没有完数
    2 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 给定范围内完数的因子

    1.4PTA提交列表及说明

    提交说明
    1. 编译错误:没看题目以为是实验课的原题。
    2. 编译错误: 若一个数是完数就含有1,将每个完数的因子累加形式等式赋值为0等因逻辑错误而导致的变量初始值定义错误.
    3. 编译错误: for语句后误加分号.
    4. 部分正确:内层for语句变量范围定义错误.

    1.2 题目名2:打印九九口诀表

    输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

    1.2.1 数据处理

    数据处理:

    begin
    定义整型变量n;
    input n;
    进入嵌套循环;
    i≤n;j≤i循环运算nn的值;
    表达式"%d
    %d=%-4d"执行等号右边数字占4位、左对齐;
    end

    数据表达:定义整型变量n;通过for(int i=1; i<=n; i++)和for(int j=1; j<=i; j++)对下三角nn部分口诀表每一行进行因子输出;"%d%d=%-4d"执行等号右边数字占4位、左对齐.

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    1 1*1=1 符合输入数据要求
    2 1 * 1=1 1 * 2=2 2*2=4 符合输入数据要求

    1.2.4 PTA提交列表及说明

    提交说明
    1. 答案错误: 内层变量初始值定义错误.
    2. 答案错误: 专业知识不到位,"等号右边数字占4位、左对齐"不知怎么表达,多次表达错误.
    3. 段错误: 缘由不明.

    代码互评

    同学代码

    自己代码

    • 该同学使用的是while语句和switch语句的嵌套,我用的是do-while循环。
    • 该同学语句简洁。我的更繁琐。

    1,2,3方式罗列2份代码不同地方。

    3. 学习总结

    3.1 学习进度条#

    周/日期 所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    W7 15h 198 数据类型中的双精度浮点型double;算数运算符;选择结构if-else语句等 常用数据类型的区别
    W8 10h 87 循坏结构,算数运算符中的自增运算符 运算符的优先级顺序
    W9 10h 89 函数的声明、定义和调用 形参,实参的实质性区别
    W10 10h 112 熟悉并能运用多分支结构及if语句的镶嵌、字符型数据类型和逻辑运算符 各类语句的镶嵌用法
    W11 12h 145 运用switch语句处理多分支问题,掌握switch语句 多分支的分类怎样处理到位,语句怎样更简洁
    W12 11h 81 用while、do-while语句实现循环程序设计 while、do-while语句中循环体、循环语句的准确表达
    W13 13h 134 初步了解嵌套循环 外层循环、内层循环嵌套代码表述

    3.2 累积代码行和博客字数

    3.3 学习内容总结

    3.3.1 学习内容总结

    • 代码是顺序、同步执行的,当前代码必须执行完毕后才能执行后面的代码。这就意味着,外层 for 每次循环时,都必须等待内层 for 循环完毕才能进行下次循环。对于变量,在执行某一循环时其值可能时不变的,注意变量的初始化。
    • 利用嵌套循环解决问题主要是找出输出与题目输入的关系式。在嵌套循环中语句中要注意循环内外的不同,循环条件的判断。
    • 输出数据的对齐方式(“+%”、“-%”)。

    3.3.2 学习体会

    1.编程的过程不仅仅是会敲几行代码、能够完成PTA就行了,你更应该做到的是梳理代码思路,通过与他人代码思路的比对,取其精华,进而不断进阶,才能逐步进步。多多编程练习时必要的。
    2.否定自己不是停止前进,而是自省后整装出发。C语言对你来说很难,但是无论怎样不要放弃对专业知识的学习,代码逻辑的提升。加油!会有进步的,哪怕只有一点点。
    3. 临近期末了,没把握的知识点好好把握,没弄懂的知识点抓紧时间学到手。

  • 相关阅读:
    编写高质量Python代码的59个有效方法
    排序NB三人组(快速排序/堆排序/归并排序)
    排序之插入排序
    编写高质量代码 改善Python程序的91个建议——笔记(三)
    ImportHelper 导出帮助类
    使用Layer弹出一个页面
    MongoDB使用手册
    MVC4设置@Html.BeginForm的ID
    LayerManage
    Layer弹窗返回数据回调
  • 原文地址:https://www.cnblogs.com/tizipei/p/11901992.html
Copyright © 2011-2022 走看看