C语言I博客作业04

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11493
这个作业的目标 会使用自定学义函数,能够清楚的描述好自己写的代码,学会阅读别人的代码,总结学过的内容。
学号 <20208956>
这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11378
我在这个课程的目标是 会使用自定学义函数,能够清楚的描述好自己写的代码,学会阅读别人的代码,总结学过的内容。
这个作业在那个具体方面帮助我实现目标 代码互评,PTA实验作业数据处理,学习总结
参考文献 C语言程序设计(3)、C primer plus

1.PTA实验作业(20分/题)

1.1 数字金字塔

本题要求实现函数输出n行数字金字塔。函数接口定义:
void pyramid( int n );
其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。

1.1.1数据处理
数据表达:自定义函数中定义了i,j,k.全为整型。
数据处理:
首先进行for(i=1;i<=n;++i)确定行数。使用for循环嵌套for(j=1;j<=n-i;j++)输出每行的空格printf(" ")
再接着进行for(k=1;k<=i;k++)输出每行数字printf("%d ",i),在每行的数字输出完后换行printf("\n")

1.1.2实验代码截图

1.1.3 造测试数据
输入数据 输出数据 说明
4 小于5
5 等于5
6 大于5
10 大于9
1.1.4 PTA提交列表及说明

编译错误:忘记打分号
格式错误:输出结果中数字没有均匀间隔开。
1.2 求组和数

本题要求编写程序,根据公式算

出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

1.2.1 数据处理
数据表达:主函数中定义了m,n,都为整型、定义result为双精度浮点型。
数据处理:result=fact(n)/(fact(n-m)*fact(m)),自定义函数fact()计算result。
在fact()函数内部,定义i(整型)、product(浮点型),用到for循环语句求product:product=product*i,最后返回product的值。
**函数参数:主函数main,自定义函数fact,自定义函数为double类型。实参m,n为整型,result为双精度浮点型。形参i(整型),product(双精度浮点型)。**
1.2.2 实验代码截图

1.2.3 造测试数据
输入数据 输出数据 说明
2 7 result = 21 m=2,n=7,m<n
7 2 result = 0 m=7,n=2,m>n
2 2 result = 1 m=n
7 7 result = 1 m=n
1.2.4 PTA提交列表及说明

编译错误:for()里面的语句1和2之间用了用了中文分号。
答案错误:在使用scanf()输入时将m与n的输入顺序弄反。
答案错误:忘记在自定义函数后加上return product;

2.代码互评(5分)

同学代码截图



自己代码截图

1、处理问题的方式不同。第一种的做法是将三个数中其中两个数依次比较大小,依次筛选。第二种依次将三个数的位置进行交换。
2、if和if-else的使用不同。第一种相较第二种会繁琐一些,但是更容易想到。
3、定义变量的方式不同。

3.学习总结(15分)

3.1 学习进度条(5分)
周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周 18 220 printf,scanf的使用,以及int类型
第九周 22 231 if语句分支结构、调用数学函数
第十周: 25 255 for语句、字符型数据的使用 switch语句多分支结构、break语句和continue语句
第十一周 28 600左右 switch语句,逻辑运算符,数组,自定义函数 多个循环结构的嵌套使用容易出错
3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)

到目前为止,我已经明显的感觉到自己与别人的差距,很多同学的学习进度比我快很多,理解程度也比我更深。
对自己的要求不够高,训练太少,我发现自己手写代码和在电脑上写相比,手写非常生疏。并且在遇到一个同样或类似的问题时并不能快速反应出来。
学习效率很低,做同样的事情要比其它同学花更多的时间,不敢尝试自己的想法,怕麻烦。
见识太少,遇到新的问题就束手无策,感觉自己还是阅读代码太少了,只管自己扎头写,没有多花时间去吸收别人的优点,发散性思维能力较弱。对一些难一点的题目有害怕的心理,不敢去做。
接下来应该改正这些问题,多花时间与同学交流思想,阅读其他人的代码,多思考,不怕难,不怕麻烦,多尝试自己的想法,不断积累解决各种问题的方法,拓宽眼见。

3.3.1 学习内容总结

请用思维导图的形式将到目前为止所学的内容进行整理。
采用专业的思维导图软件,建议可以是:MindManager、XMind、iMindMap、FreeMind、Mindomo、MindNode……等等之一。

3.3.2 学习体会

C语言的学习需要大量的积累,一定要培养解决新问题的能力,学会“偷懒”多思考寻找简单的方法,分而治之,要定期总结自己对各种问题的的解决方法、思路。
多画流程图、思维导图等,在每次练习时尽量给自己设定合适的时间,尽量做到按时完成,训练自己的速度。

posted @ 2020-11-14 15:10  洪胤  阅读(272)  评论(9编辑  收藏  举报