C语言I作业10
标签:18软件二班 李煦亮
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计I |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10100 |
我在这个课程的目标是 | 熟悉和掌握c语言语感 |
这个作业在那个具体方面帮助我实现目标 | 深入了解程序框架 |
参考文献 | 1.https://www.cnblogs.com/linli069/ 2.https://www.cnblogs.com/pengchen511/p/10564067.html 3.https://www.cnblogs.com/spacexlxl/p/11909201.html |
1.PTA实验作业
1.1编程打印空心字符菱形
1.1.1 数据处理
- 数据表达:定义n,i,j,m,k整形变量,定义ch字符变量。
- 数据处理:getchar()用来接收字符,在数据结构和编译原理也用到了这一方法,尤其是在写数据结构代码的时候,常用某一组合字符来接收数据。
伪代码:
for()列循环
for()行循环
判断输入条件
执行if语句
1.1.2 实验代码截图
1.1.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
X 6 | 通过“人工智能”计算,验证,结果正确 | |
测试边缘数据 | ||
A 3 | 因为从A开始且开始数字为3,所以最后一行并不为字目,而是系统随机给出的字符 |
1.1.4 PTA提交列表及说明
说明:
多种错误:编写程序的时候写程序框架太长了,对题目意思理解但是却没有有效的算术逻辑,所以多出测试错误
答案错误:调试程序,对开始k赋值1
1.2梅森数
1.2.1 数据处理
- 数据表达:将b,n,i定义为整形,定义整形并赋值c=0,d=0;
- 数据处理:双重for循环结构,if else嵌套
伪代码:
判断n是否等于1
不等于1,执行for循环
for()控制列
for()控制行
if(c%i==0)判断c取余是否为1,为1则跳出循环
1.2.2 实验代码截图
1.2.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
8 | 3 7 31 127 |
通过“人工智能”计算,验证,结果正确 |
5 | 5 3 7 31 |
符合题意 |
测试边缘数据 | ||
21 | 3 7 31 127 8191 131071 524287 |
报错 |
1.2.4 PTA提交列表及说明
- 编译错误:并没有写最后一个if else语句
- 答案错误:循环判断条件写反
- 答案错误:定义b的初始值为1
2.代码互评
同学代码截图
自己代码截图
对比:
1.定义字符的方式不相同,我的为了纪录循环次数设置了count,他则用putchar(c++)纪录
2.循环结构不同,我的是双重for循环,他还用了while循环。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间(h) | 代码行 | 学到的知识点简介 |
---|---|---|---|
第5周/9.16~9.22 | 14 | 36 | int main |
第6周/9.23~10.6 | 20 | 33 | if else |
第7周/10.7~10.11 | 35 | 35 | math.h |
第8周/10.11~10.18 | 6 | 100 | ±=(double) |
第9周/10.19~10.25 | 4 | 70 | 定义函数 |
第10周/10.26~11.02 | 6 | 50 | %02d |
第11周/11.03~11.10 | 10 | 350 | 扫描程序,string |
第12周/11.11~11.18 | 21 | 512 | while循环语句 |
第13周/11.19~11.26 | 52 | 732 | continue |
第14周/11.27~12.04 | 55 | 1120 | 数组 |
3.2 累积代码行和博客字数
这一周的代码主要是编译原理和数据结构的代码都在写,且很多,都是100,200多行的那种
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这几周下来的跟班学习,我已经开始有了对c语言的基本语感了,对程序算法设计有了初步的了解,希望寒假期间会超过大家,因为下学期我自己班级就要开始学Java了,emmm