| 这个作业属于那个课程 | C语言程序设计I |
| 这个作业要求在哪里 | 作业要求 |
| 我在这个课程的目标是 | 学会编写小程序 |
| 这个作业在那个具体方面帮助我实现目标 | 根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序 |
| 参考文献 | C语言程序设计、百度百科 |
1.PTA实验作业

1.1 输出三角形字符阵列
题目内容:
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D E F G H I J
1.1.1数据处理
数据表达:用了int整形函数,变量为N,a,b,运用for循环语句来实现每行字母的个数以及三角形的行数。if条件语句通过判断结束的每行字母的个数。
数据处理:

1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
| 4 | ![]()
|
正确 |
| 7 | ![]()
|
正确 |
| 5 | ![]()
|
正确 |
1.1.4 PTA提交列表及说明

格式错误:题目要求每个字母后面都有一个空格,代码行第十行printf输出时忘记打空格,导致格式不符合题目要求。字符的定义下错了,单引号打成了双引号,导致输出错误第十三行输出换行,我没有这一行代码,导致输出时都是在一条线,没有形成一个三角形。
1.2 梅森数
题目内容:
形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。
本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。
输入格式:
输入在一行中给出正整数n(n<20)。
输出格式:
按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。
输入样例:
6
输出样例:
3 7 31
1.2.1 数据处理
数据表达:变量为num,a,b,c,d,运用了for循环结构及循环结构的嵌套,if条件语句,break结束语句,调用了库函数,头文件加了<math.h>
数据处理:

1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
| 6 | ![]()
|
正确 |
| 11 |
|
正确 |
| 15 | ![]()
|
正确 |
1.2.4 PTA提交列表及说明
部分正确:判断2的n次幂减1是否为素数正确,当不满足条件时输出None时条件判断错误,没有设置变量d,导致每次输出结果后面都有None,提交时显示答案错误。
答案错误:因为输出不了None,当我加if(d>20)时答案错误,输入21时,也有输出结果,后面多了None跟没设置变量d时的结果相同。第十六行忘记了d++,每次输出来的都有None。
编译错误:变量书写代码时打错,num打成了n,第十一行num%c==0少了一个=号
2.代码互评
同学的代码:

我的代码:

1.for循环表达式及条件不同,同学的第一个for循环语句表示行数的循环变化,我的输出字母的个数。第二个for循环同学的时列数循环变化,我的比他少了一个for循环结构,代码更简单。
2.定义字符字母的方式不同,同学的直接int下定义,我是判断条件输出的时候直接输出相应的字母字符。
3.关于字符阵的行数,列数字母个数的代码编写不一样,同学的比我的更加容易理解。
同学的代码:

我的代码:

1.判断梅森数的条件不同,同学的是2的n次幂减1除以2的n次幂减1的二分之一倍,判断条件不同,我的是2的n次幂减1的算数平方根。
2.同学用了新的语句end for,看得出同学学习进度快。
3.学习总结
3.1 学习进度条
| 时间 | 所花时间 | 代码行 | 学到的知识点简介 | 目前感到迷惑的地方 |
| 第一次 | 9h | 55 | 打出Hellow World | 输出比较困难 |
| 第二次 | 12h | 120 | 学习提问的智慧 | 安装编译软件 |
| 第三次 | 两天半 | 190 | 关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 |
scanf函数不知道怎么用 |
| 第四次 | 18h | 220 | 使用for循环语句实现指定次数的循环程序设计 | 整型函数还不是很清楚 |
| 第五次 | 8h | 350 | 生成乘方表与阶乘表 | 读代码还不清楚 |
| 第六次 | 7h | 195 | 熟悉多分支结构、字符型数据类型和逻辑运算符。 | 数据类型不是很清楚 |
| 第七次 | 33h | 240 | 熟悉多分支结构switch语句的使用 | switch多分支结构的条件怎么写 |
| 第八次 | 10h | 260 | 使用while和do-while结构解决问题 | 做PTA时不知道从什么地方下手 |
| 第九次 | 13h | 275 | break、continue的使用、熟悉使用循环的嵌套解决问题 | 怎么运用循环嵌套 |
| 第十次 | 15h | 320 | 能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序 | 选择算法 |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
1..这次作业主要让我们能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。
2.代码格式一定要清晰,排版正齐,这样在代码调试时可以更加清楚的看见代码的运行情况,方便检查错误代码。
3.这次pta作业难度大,通过百度,一些代码还是弄不明白。






