zoukankan      html  css  js  c++  java
  • C语言I博客作业10

    问题 答案
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10100
    我在这个课程的目标是 对循环的嵌套进一步的应用
    这个作业在那个具体方面帮助我实现目标 pta作业和代码互评
    参考文献 《C语言程序设计》,CSDN博客

    1.PTA实验作业

    1.1 7-3 梅森数

    形如2^​n−1的素数称为梅森数(Mersenne Number)。例如2^2−1=3、2^3−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2^​31−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2^n−1的梅森数。

    1.1.1数据处理

    • 数据表达:用了整型的number,i, accumulation,p,s变量。
    • 数据处理:
      输出入2的幂number
      while p<number
      ​   do p←p+1
      ​   accumulation=pow(2,p)
      ​   for i 1 to (accumulation-1)/2 by 1 do
      ​     if (accumulation-1)%i=0
      ​       then break
         end
      ​   if i>(accumulation-1)/2
           then 输出accumulation-1并换行
      ​     s←s+1
      end
      if s=0
       ​  then 输出None

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    6 3 7 31 幂小于10
    17 3 7 31 127 8191 131071 幂大于10
    19 3 7 31 127 8191 131071 524287 幂大于10

    1.1.4 PTA提交列表及说明

    • 1.部分错误:一个if语句的条件错误。调试中解决。
    • 2.部分错误:输出的变量搞错了。调试中解决。
    • 3.答案错误:在改动上面的过程中把while语句里循环的判断条件改错了。分析错误看代码时解决。
    • 4.答案错误:逻辑错误,break打成了continue。调试中观察到变量的值与心里想的语句走向矛盾问题。

    1.2 7-8 输出三角形字符阵列

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

    1.2.1数据处理

    • 数据表达:使用了整型变量n,j,i和字符变量c。
    • 数据处理:
      输入三角形的行数n
      c←'A'
      for i 1 to n by 1 do
      ​    for j i to n by 1 do
      ​       输出字符变量C
      ​       C的ASCII值加一
          ​   end
        ​  换行
      end

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    2 小于3
    3 等于3
    4 大于3

    1.2.4 PTA提交列表及说明

    • 1.编译错误:输出换行的那个语句忘打分号了。pta提示解决。
    • 2.格式错误:输出字符时没有空格。在Dev里发现输出与题目的输出样例稍有不同。
    • 3.格式错误:把空格加大字符前面去了。看输出格式说明解决。

    2.代码互评

    同学代码截图

    自己代码截图

    • 1.这位同学的代码的变量直接看不出含义,不容易理解。
    • 2.这位同学的内层循环次数有可能过多,应将for语句的j<a的a改成根号a或二分之一a。

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
    7/10.9-7/10.11 7小时 276 if- else语句 PTA第三次作业的第5题用我自己的思路编代码结果不对
    8/10.16-10.18 16小时 257 用for语句计算简单的序列和 浮点变量的单精度和双精度有什么区别
    9/10.23-10.26 17小时 127 初步的了解了while语句和定义函数的使用 在那种情况下数组变量要定义在主函数外
    6/27~6/31 17小时 270 多分枝结构和表达式,数组 数组到底可以存多少个数,超出10怎么表达每一个数组
    11/11.6-11/11.8 17小时 176 switch语句可以分成很多种情况 swicth语句到底可能可以内嵌switch语句,我试过没成功过
    12/11.13-12/11.15 17小时 270 使用while语句进行循环计算 伪代码到底怎么打,网上的文章看不懂
    13/11.20-13/11.22 13小时 267 循环语句的嵌套使用 break语句只能结束循环吗?switch语句里也有循环,但不是循环语句
    14/11.27-14/11.29 12小时 166 循环的了解进一步加深 调试时在return 0行设置断点有什么用

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    • 1.在用循环的时候要特别注意循环的次数,不然很容易超时。
    • 2.在解决问题的过程中最好先将大问题分成三四个小问题(不要过多)一一解决,然后在结合在一块。
    • 3.在做题的过程中若很久都做不成不要在蛮做了,可以去看看C语言的书,借鉴一下别人的代码。
  • 相关阅读:
    图论知识补全
    字符串
    Yii2安装搭建和将入口文件移到根目录
    yii2史上最简单式安装教程,没有之一
    如何在IIS 7.5中部署Asp.Net MVC 5的网站
    Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)
    Yii2 AR find用法 (2016-05-18 12:06:01)
    DedeCMS织梦动态分页类,datalist标签使用实例
    dedecms为后台自定义菜单的完整方法
    php和js一起实现倒计时功能
  • 原文地址:https://www.cnblogs.com/hedongling/p/11953580.html
Copyright © 2011-2022 走看看