| 这个作业属于那个课程 | C语言程序设计II | 
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097 | 
| 我在这个课程的目标是 | 学会用正确的语法格式进行编程,锻炼能力,学好C语言 | 
| 这个作业在那个具体方面帮助我实现目标 | 习题得练习,代码互评,思维导图的绘制 | 
| 参考文献 | 百度,C语言程序与设计,C Prime Plus | 
1.PTA实验作业

1.1题目1: 输出三角形字符阵列

1.2数据处理
数据表达:用整型变量定义i,j,n,count,用字符型定义z;i,j分别代表行和列,count用来计数,首写字母A开始的表示方法为'A'+count;
数据处理:
伪代码:
- beign
 - int i j n count
 - count←0 //定义初始值
 - char z
 - scanf("%d" &n)
 - for i←n i>0 //处理行与列的换行问题
 - for j←0 j>0
 - printf("%c " 'A'+count) //从字母A开始
 - count←count+1
 - printf("\n") //换行
 end
1.3实验代码截图

1.3造测试数据
| 输入数据 | 输出数据 | 说明 | 
|---|---|---|
| 4 | A B C D E F G H I J | 验证是否正确 | 
| 2 | A B C D | 增加实验结果的可靠性 | 
| 3 | A B C D E F | 增加实验结果的可靠性 | 
1.4PTA提交列表及说明

Q1:显示编译错误,首字母未从A开始,printf语句后没有分号;
A1:再printf语句后加上分号,并用语句'A'+count表示从A字母开始;
Q2:又显示编译错误,printf写成了prinf;
A2:将printf改成prinf;
说明:做编程题要符合特定的语法规则,且要细心,多去思考问题的所在;
1.1.1题目2: 梅森数

1.1.2数据处理
数据表达:用整型变量定义i,j,n,x,count,其中n是整数所输入的数,i是为了求x,j是为了找梅森数,count用来计数还起标志作用,x%j==0语句判断是否为素数,该题用了pow函数,故要用# include<math.h>
数据处理:
伪代码:
- begin
 - int i j n x count //定义变量
 - count←0 //定义初始值
 - scanf("%d" &n)
 - for i←2 to n
 - x←pow(2,i)-1 //求出数据
 - for j←2 to x
 - if(x%j←0) //判断是否为素数
 - break
 - if(j>x/2)
 - printf("%d\n" x)
 - count←count+1
 - if(count←0) //作为判断条件
 - printf("None")
 end
1.1.3实验代码截图

1.1.4造测试数据
| 输入数据 | 输出数据 | 说明 | 
|---|---|---|
| 6 | 3 7 31 | 验证是否正确 | 
| 10 | 3 7 31 127 | 增加实验结果的可靠性 | 
| 21 | 3 7 31 127 8191 131071 542287 | 大于20 | 
1.1.5PTA提交列表及说明

Q1:显示部分正确,未按题目的要求列举梅森数,用了pow函数但没有用math.h头文件;
A1:使用math.h头文件,并按题意的要求进行输出;
Q2:显示答案错误,i和j的初始值为1;
A2:将i和j的初始值该为2;
说明:了解一定语法错误是有必须的,这样你就知道问题出现在哪里,同时要不断的进行练习
2.代码互评
同学代码:

我的代码:

互评结果:
- 他的代码更加简便,并且不要用字符型常量来定义
 - 我的书写格式更加规范一些
 基本思路都是一至的,且都需要换行
同学代码:

我的代码:

互评结果:
- 它定义的变量过于复杂,不易操作
 - 他还调用了函数显得更加高人一等,难以读懂
 我的书写格式更加规范一些
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较疑惑的问题 | 
|---|---|---|---|---|
| 第一周 | 2小时 | 30行 | 如何空格,控制字符 | 编译的格式 | 
| 第二周 | 2.5小时 | 40行 | 求华氏温度 | printf的使用方法 | 
| 第三周 | 4.5小时 | 80行 | 分段函数的编写 | if-else不能灵活使用 | 
| 第四周 | 2天 | 90行 | 循环语句for的使用 | 不会正确的变形,理不清题意 | 
| 第五周 | 2天 | 200行 | 水仙花数的表示方法;个位数字平方和的表示方法 | 对陌生的概念不太了解,难以正确编程 | 
| 第六周 | 2天 | 260行 | if与else语句与for语句的综合使用,逻辑运算符,字符型char | 题意与如何构思能力还有待提高 | 
| 第七周 | 2天 | 220行 | switch语句的使用,以及一些常见的格式 | 不能正确的编程,如何解决问题的能力还有待提高 | 
| 第八周 | 2天 | 230行 | 如何用do-while语句和while语句,并区分与for语句的不同地方 | 题意还是不能完全读懂,难以正确的编程 | 
| 第九周 | 3天 | 280行 | 如何使用for语句的循环嵌套结构,并学了break与coutinue之间的区别 | 题意还是不能完全读懂,题意与如何构思能力还有待提高 | 
| 第十周 | 3天 | 300行 | if-else,coutinue,break,for循环嵌套的综合应用 | 难以编程出与题意相符的代码,如何解决问题的能力还有待提高 | 
3.2 累积代码行和博客字数
思维导图:

内容总结:
- 明白一些常见的错误类型,如答案错误表示与题意输出的内容不符或输出的结果不同,编译错误常见的问题是标点符号不打或打错,运行超时的常见问题是输入了不要输入的内容,多种错误常见的问题是多定义了一些没有用到的变量,且再编程上还出现了语法错误;
 - 学会如何用整型,浮点型,字符型定义变量,并学会用从字符A开始的语句,运用for语句的循环嵌套结构解题;
 在输出格式控制说明中,可以加宽度限定词,指定数据的输出宽度,如%md;
感悟:
- C语言是一门语言,要想学好学会就要多加练习,要从本质上分析问题并解决问题
 - 学习过程中会遇到一些难题,这时就离不开老师与同学的帮助,多问还是有必要的
 做题过程中会遇到许多未学过的知识,这就需要我们多看课外书并预习课本上还没教的知识
3.4学习体会
- C语言中如何正确使用for语句的循环嵌套结构和coutinue,break的综合应用,对于初学的我只能不断搜集资料;
 - 有时我甚至连题意都没有弄懂,在同学的帮助下我还是明白了许多;
 - 在这门功课上,我们需花大量的时间来练习并巩固已学知识;
 - 同时我也希望老师在上课的时候多讲几个习题助于我们理解;
 当然我也会去图书馆去阅读一些相关资料来提升自己;

