• C语言I博客作业10


    一、本周教学内容&目标

    第4章 循环结构 4.5 综合介绍循环结构的程序设计,涉及到多个典型算法。要求学生能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。

    二、本周作业头

    这个作业属于哪个课程 c语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097
    我在这个课程的目标是 了解、运用并学会自己编辑c语言
    这个作业在哪个具体方面帮助我实现目标 能帮助我更了解c语言,练习c语言
    参考文献 《c语言程序设计》《C Primer Plus》

    三、本周作业

    PTA实验作业
    代码互评
    学习总结

    1.PTA实验作业(20分/题)

    1.1输出三角形字符阵列

    本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

    1.1.1数据处理

    数据表达

    运用了四个整型变量n,i,a,b,一个字符型变量ch,分别表示输入数,累加行数,累加列数,累加字符数,字符ch赋值为题目初始字符。
    

    数据处理

    定义n,i,a,b,ch;       //分别表示输入数,累加行数,累加列数,累加字符数,字符ch赋值为题目初始字符
    输入 n;
    ch←'A';                  //给ch赋值为A
    b←0;
    for i←n to 0             //计算行数
       for a←1 to i          //计算每行的长度
          输出 ch+b;         //利用b输出累加变化的字符
          b++;               //累加b
       输出
    ;
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    4 题目样例
    6 最大整数
    1 最小整数

    1.1.4 PTA提交列表及说明

    提交列表说明:

    答案错误:没有定义b,导致字符无法顺序累加,输出正确的字符。
    答案错误:for循环中a的范围定义错了。
    部分正确:输出的b没加。
    编译错误:不小心删了一个分号。
    

    1.2 同构数

    一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。

    1.2.1 数据处理

    数据表达

    定义四个整型变量i,a,s,sum,分别表示累加数,位数累加数,与累加数相同位数的数,平方得到的数。
    

    数据处理

    定义i,a,s,sum;            //表示累加数,位数累加数,与累加数相同位数的数,平方得到的数
    for i←1 to 1000             //累加i
       sum←i*i;                 
       for a←1 to i
          s←pow(10,a);
          if i/s==0             //判断是平方数的位数
             if sum%s==i        //判断是否同构数
                输出i;break;    //输出同构数,跳出第二个循环
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    本题无输入

    1.2.4 PTA提交列表及说明

    编译错误:这题我用Dev试了好多次,总是输出两个625,后来发现没有用break跳出循环。编译错误是因为break后面忘记打分号了。
    

    2.代码互评(5分)

    同学代码截图

    自己代码截图

    1)第一份代码只运用了一个整型变量i,而第二份代码用了四个整型变量i,a,s,sum。
    2)第一份代码只运用了一个for循环,第二份代码运用了两个for循环。
    3)第一份代码利用了题目给出的要求:在1~1000内,所以直接用1000,100,10除,减少了平方位数的求解,而第二份代码运用了一个for循环得出平方位数,再判断梅森数。相比而言,第一份代码更简单,运算更快,但第二份代码更通用。
    

    同学代码截图

    自己代码截图


    1)第一份代码运用了五个整型变量n,i,number,j,count,而第二份代码运用了六个整型变量n,i,a,b,c,sum。
    2)第二份代码运用先用一个if-else结构套嵌for循环,而第一份代码没有嵌套,直接用if输出None。
    3)第二份代码定义了一个b,使能被整除的数无法进入后面if输出,而第一份代码则运用了一个break,相比而言,第一份代码更好,所占空间更少。
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    1/16~1/22 1h 42 输入,输出文件
    2/23~2/29 3h 31 使用int定义变量
    3/7~3/10 6h 93 选择型流程结构,使用double定义变量 输出printf,scanf中%后面使用d或者f或者lf分不清
    4/15~4/18 6h 100 循环流程结构 段错误的原因
    5/22~5/26 8h 104 调用函数,形参和实参 while的循环原理
    6/29~6/22 10h 166 字符,ASCⅡ码集,套嵌if-else分支 for循环边界值
    7/5~7/8 5h 141 switch多分支结构
    8/12~8/15 7h 159 while循环 使用字符解题不怎么会,定义变量所占空间大小
    9/19~9/22 15h 171 break,continue getchar(),变量的位置
    10/25~10/28 18h 211 循环结构的使用

    3.2 累积代码行和博客字数(5分)

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结


    3.3.2 学习体会

    感觉这周题目有点难,主要考虑思维,尤其是第一个题目,我花的时间比我另外三个题目加起来的时间都要长,代码也很长。写完之后有同学告诉我这个题目只有10分,我瞬间就崩溃了,难道我又把一个简单题想得太难了?然后我去百度了一下,发现彼此彼此,别人的代码也很长,才放下心来。原来我觉得数字金字塔已经算难的了,现在才发现,和这个比起来,真的是简单得不能再简单。
    后面的题目算容易的了,我想,老师,你是不是把挑战题弄错了,为什么我感觉第一题比挑战题还难。

  • 相关阅读:
    MYSQL批量插入数据库实现语句性能分析【转】 批量插入!程序里面对于数据库插入的功能尽量用【异步处理+批量插入+(事务)】
    移动端如何解决页面返回上次浏览位置问题
    php对接java接口
    php后端遇到的问题
    jquery 判断字符串长度
    phpExcel常用方法详解
    html 手机端适配不同手机高度 ,把内容居中显示
    html 手机端 生成海报
    没错,老师就是个勤奋负责有良心的职业,不,的人
    睡眠是自然的第二道菜
  • 原文地址:https://www.cnblogs.com/xiamudaren1/p/11946988.html
Copyright © 2020-2023  润新知