这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业05 |
我在这个课程的目标是 | 学习C语言程序设计的编程及解题方面知识 |
这个作业在哪个具体方面帮助我实现目标 | 学习思维导图的制作方法及进一步学会编程 |
参考文献 | C语言部分知识点查询1;C语言部分知识点查询2;C语言的四种流程结构了解;C/C++函数调用中的主调函数、被调函数、形参与实参 |
1.PTA实验作业
1.1水仙花数判断
本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
1.1.1数据处理
数据表达:本题用了b,s,g变量。其中b意思为N除100再除以10将余数赋值给b,则b为百位数;s意思为N除10再除以10将余数赋值给s,则s为十位数;g意思为N除10将余数赋值给g,则g为个位数。类型有int(整形)。
数据处理:数据中用到了分支控制的if,else及if引导的算术表达式:((bbb+sss+ggg)==N)。流程结构是分支结构。
函数参数:该题中的主调函数为main(){};被调函数为func(const int N),被调函数有b,s,g;形参为:(const int N),实参为b,s,g。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
255 | 0 | 大于250 |
253 | 0 | 大于250 |
366 | 0 | 大于350 |
1.1.4 PTA提交列表及说明
1.编译错误:将第8行代码中添加了分号
2.答案正确:代码减去分号编译成功
1.2使用函数验证哥德巴赫猜想
本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
1.2.1数据处理
数据表达:本题用了i变量。其中i为输入的数字。类型为int(整形)。
数据处理:数据中用到了分支控制的if,else语句。流程结构是分支结构。
函数参数:该题中的主调函数为main(){};被调函数为Goldbach(i);形参为i,a;实参为p,count。
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
86 90 | 86=3+83,88=5+83,90=7+83 | 两个互相接近的偶数 |
22 26 | 22=3+19,24=5+19,26=3+23 | 两个互相接近的偶数 |
17 19 | 17 is a prime number 18=5+13 | 两个互相接近的奇数 |
1.2.4 PTA提交列表及说明
1.编译错误:对于该题说实话我是不知道如何下手,所以就先将测试程序样例输入上去了
2.部分正确:将第8行代码中的return=0写成了return=1
3.答案正确:改正错误,答案正确。
2.代码互评
同学代码截图
自己代码截图
1.同学代码简洁明了,而我的代码在许多地方都繁冗复杂,以至于我自己都解释不了此次的代码意思。
2.同学运用了result,i,m变量;而我的代码用的是i变量。
3.同学运用了一个新的终止循环词break。而我的代码还是return结束语句。
同学代码截图
自己代码截图
1.同学运用了i,s,a变量;而自己变量为b,s,g变量。(可以看出意思大概相同)
2.同学用了算式s=s+aaa;而我的算式为(bbb+sss+ggg)==N;
3.同学用了循环语句while语句;而我用的却是顺序结构。
3.学习总结
3.1 学习进度条
周 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|---|
第五周 | 3小时 | 17行 | 初期开始学习“Hello World!" | 不知道如何开始编译 |
第六周 | 10小时 | 27行 | 提问的智慧及编译器的下载 | 编译格式问题 |
第七周 | 10小时 | 95行 | 流程结构类型及变量类型分类方法 | 代码分析不明白以及编译格式问题 |
第八周 | 13小时 | 115行 | 循环程序设计及Dev-C++编译运行等方法 | 用专业术语将代码解释出来及各种赋值运用 |
第九周 | 15小时 | 165行 | 四种流程结构及主调,被调函数,实参与形参的识别 | PTA作业中题目的编写 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.在PTA作业上对于某些题目有点无从下手的感觉,这也充分暴漏了我知识的匮乏之处,也希望自己在工作的同时能够制定一个适合自己的学习方案,给C语言程序有一个充分的单独学习条件,加强自己的专业知识;
2.对于流程结构的分析已经在三次博客作业中提到了,对于这方面的判断也有了更深刻的认识;
3.对于老师每次布置的作业中,都能够在其中发现有些许不同。当然也是通过这些不同促使我通过查阅各种资料,在查阅的同时也让自己认识到了课堂没有学到的知识点,这是目前唯一让自己欣慰的事情了。同时也希望老师能够每次都有一点点更改,这样我们能够在这种阶段中学会新的知识点并且加深知识点的印象。