c语言I作业10

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10098
我在这个课程的目标是 加深对嵌套结构的理解
这个作业在那个具体方面帮助我实现目标 通过做字符图形输出的题目加深我们对嵌套结构的理解
参考文献 《c语言程序设计》,csdn

一.PTA实验作业

1.1 输出三角形字符阵列

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

输入格式:

输入在一行中给出一个正整数n(1≤n<7)。

输出格式:

输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

数据表达:定义变量a,b,c,i,m全为整型;

数据处理:如下

开始
定义变量a,b,c,i,m
输入m
b←m-1
c←(1+m)*m/2
for i←0 to c
    输出'A'+i
    if i=m-1 then
        转行
        m←m+b
        b←b-1
    end if
结束

1.1.2 实验代码截图

c语言I作业10_第1张图片

1.1.3 造测试数据

输入数据 输出数据 说明
4 pta样例
3 n<4
5 n>4

1.1.4 PTA提交列表及说明

c语言I作业10_第2张图片

部分错误:编写多次一直出现部分正确,在编译软件中所输入的与样例有点不同,提交列表显示是由一部分出现答案错误,这肯定是循环体或者计算式出现错误,多次尝试后解决了问题。

1.2 梅森数

形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。

本题要求编写程序,对任一正整数nn<20),输出所有不超过2n−1的梅森数。

输入格式:

输入在一行中给出正整数nn<20)。

输出格式:

按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。

1.2.1 数据处理

数据表达:定义m,n,i,j为整型变量;

数据处理:如下

开始
    定义i,j,n,m
    输入n
    for i←2 to n
        m←2^i-1
        for j←2 to m/2
            if m%j=0 then
               break
            end if
            if j>m/2
            输出m
    if n=0||n=1
    输出None
结束

1.2.2 实验代码截图

c语言I作业10_第3张图片

1.2.3 造测试数据

输入数据 输出数据 说明
6 3 7 31 pta样例
7 3 7 31 127 n>6
15 3 7 31 127 8191 n>6
1 None 无完数情况

1.2.4 PTA提交列表及说明

c语言I作业10_第4张图片

部分正确:之前这道 题目在实验课中做过的,知识稍有不同,我将原来的代码稍加改动可以达到这一道题的要求,不过一直反复出现部分正确,也就是部分答案错误。详细比较我之前写过的代码,问题并不是出现在编写的代码内容,而是代码规范的问题,由于大括号在for后和if后的使用不太正确,导致代码出现紊乱,所以运行时出现错误,得不到正确的结果。

编译错误:手误多打了一个符号,又立马点了提交,下次注意。

二.代码互评

代码比较1:

同学1的代码 我的代码
c语言I作业10_第5张图片 c语言I作业10_第6张图片

代码分析:

  • 我与这位同学代码的差异还是蛮大的,首先就是思路不同,定义了的变量也有所不同,她定义了字符型变量而我没有。总体上说她的代码写得比我的好,不过她的代码需要对字符型变量的掌握和运用较好,而这也正是我所需要去学习的地方。

代码比较2:

同学2的代码 我的代码
c语言I作业10_第7张图片 c语言I作业10_第8张图片

代码分析:

  • 我和这位同学的代码风格类似,起码思路上是相同的,不同的地方在于素数的判断的方法形式不同,判断是否是素数的多种方法确实值得我们去吸收

三.学习总结

3.1 学习进度条

日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
第一周(9.19-9.27) 1小时左右 28 c语言初步了解 格式的正确运用
第二周(9.27-10.4) 2小时左右 20 markdown格式的运用 怎么样让排版更加美观整齐
第三周(10.4-10.11) 5小时左右 104 if-else语句的运用 题目逻辑掌握不到位,分析问题的能力有待提高
第四周(10.11-10.18) 5.5小时左右 92 循环语句的运用 循环体的编写以及结构的多种变化理解不透彻
第五周(10.18-10.25) 8小时左右 90 调用函数的运用 还是很多时候循环体计算式不能写对
第六周(10.30-11.02) 7小时左右 133 分支函数的运用 分支函数的多种形式理解不到位
第七周(11.4-11.8) 5小时左右 105 switch语句的运用 switch语句的理解以及用法不到位
第八周(11.12-11.16) 6小时左右 99 循环语句的进一步理解和运用 伪代码的正确书写
第九周(11.18-11.22) 5小时左右 98 循环语句嵌套的运用 语句逻辑难以理清
第十周(11.26-11.29) 5小时左右 94 编程打印题目的掌握 题目的分析以及其思路看出来有些困难

3.2 累积代码行和博客字数

c语言I作业10_第9张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

c语言I作业10_第10张图片

3.3.2 学习体会

  • 这是第十周了,同时也是忙碌的第十周,所以这周的博客完成得也算是有一些仓促的吧。

  • 渐渐地学习到现在会有一些做题目的感觉,但是稍微难一些的题目,完全独立地完成它还是有不小的难度。

  • 或许是渐渐地吸收到了一些东西,对编写代码也是更有兴趣去学了。

  • 临近期末,不得不承认自己对基础知识的掌握还很不够格,希望自己在考试前可以认真复习,圆满地完成考试。

你可能感兴趣的:(c语言I作业10)