C语言I博客作业04
1.作业头
这个作业属于哪个课程 | 班级的链接 |
这个作业要求在哪里 | 作业要求链接 |
这个作业的目标 | 掌握和复习函数定义的方法以及for语句的实践 |
学号 | 20208945 |
1.PTA实验作业 | |
从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下: | |
1.1 题目名1 | |
本题要求编写程序,根据公式C=n!/m!(n-m)!算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。 | |
1.1.1数据处理 |
数据表达:运用了整型变量m,n,双精度浮点型变量sum,result
数据处理:使用了for语句循环计算出n!和m!
函数参数:自己定义了fact(n)函数计算n!,在主函数中直接调用然后解决问题
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 7 | result = 21 | 自己定义的函数在主函数中实现成功调用 |
3 8 | result = 56 | 自己定义的函数在主函数中实现成功调用 |
1.1.4 PTA提交列表及说明 | ||
说明:1.答案正确:我个人习惯于使用pta的“自定义测试”确认无勿在提交。 | ||
1.2 题目2 | ||
本题要求编写程序,计算sum=21+22+23+……+2n,可以调用pow函数求幂。 | ||
1.2.1 数据处理 |
数据表达:运用了整型变量n,sum,double i
数据处理:运用了for语句和power函数
函数参数:没有自定义的函数,所有运算都在主函数中完成
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 62 | 数据正常,在所定义范围内 |
6 | 126 | 数据正常,在所定义范围内 |
99 | -2147483648 | 数据溢出,因为我定义所定义的sum为整型,输出数据太大导致数据溢出 |
1.2.4 PTA提交列表及说明 | ||
说明:1.答案错误:我将sum初始化以及未在计算式中进行累加,所以程序未能返回正确的结果 | ||
2.段错误:刚开始我想自己定义函数进行分步计算,后来导致递归调用层数太多,出现短错误 | ||
2.代码互评 | ||
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。 |
同学代码截图
自己代码截图
这两段代码都是pta作业的7.2
1.同学自己定义的函数直接在主函数前定义了,而我的在末尾,然后再到开头调用
2.同学的输出结果和我的输出结果格式不同,我应该注意,他的为%.0lf,而我为%.0f,%f代表单精度浮点型数据(float),%lf代表双精度浮点型数据,有些题目可能由于精度的原因,输出%lf和%f的数据不同,可能会造成错误,这是我应该注意的地方,其他的地方都大同小异了
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周10.19-10.25 | 8 | 5 | 如何打开编译器 | 我该怎么学习c语言 |
第九周10.26-11.1 | 10 | 54 | 学会如何提问 | c语言怎么才能学好 |
第十周11.2-11.7 | 48 | 138 | for语句,数据的类型 | 为什么作业这么麻烦 |
第十一周11.8-11.14 | 51 | 256 | for语句的应用,如何自己定义函数 | 怎样去理解题意,自己定义的函数如何符合题意去调用 |
3.2 累积代码行和博客字数 | ||||
1.累积代码行:453 | ||||
2.博客字数:7648 | ||||
3.3 学习内容总结和感悟 | ||||
我在网上了解有关c语言的知识,知道了c语言是一门面向过程,抽象化的通用程序设计语言,广泛应用于底层开发,c语言能够以简易的方式编译,处理低级存储器,是能产生少量的机器语言以及不需要任何环境便能支持运转的高效率程序设计语言。当真正进入学习了c语言之后,的确一下子就被难倒了,因为它的逻辑性的要求很强,而且要运用到各种函数算法。我的学习总结就是,c语言要靠自己多练多看,不断的去学习交流。感悟就是,老师上课的时间和精力也有限,不能在短时间将所有的知识都交给我们,老师每次布置的作业中总会有我们在课堂上没讲到的知识,老师以作业这种方式来强化我们的思维能力与动手能力,需要自己不断的去独立思考,自己提前去解决老师没讲过的问题,等到老师再次讲到时我们的知识也会更加巩固。 | ||||
3.3.1 学习内容总结 | ||||
3.3.2 学习体会
我个人的体会是学习很难,但收获的知识很多,c语言的学习难度也正在慢慢变大,学习的内容也越来越多,对我最直接的感受就是作业的难度提升,每次作业时间至少需要10个小时,老师布置的作业非常有想法,老师布置作业由简到繁慢慢深入,使我们不断学习除编程以外的各类知识,非常符合大学生的综合素质教育,我们每次作业都要不停的去思考,锻炼自己的思维能力,学习怎样思考问题,如何解决问题,如何使效率最大化的解决问题等等,这一周的学习体会,我认为我还有非常多的东西要学,感觉与其他同学的差距很大,我做题慢,而且不能用最简单的方法解决问题,理解能力差,需要我用更多的时间来弥补我这些缺点,希望各位老师,同学们能够在今后的学习上多多指教,希望我也能“故余虽愚, 卒获有所闻”。请助教多多指点,以上就是我这一周的体会,谢谢。