C语言l博客作业04

这个作业属于哪个课程 C语言程序设计ll
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11489
我在这个课程的目标是 了解函数的定义和调用
这个作业在那个具体方面帮助我实现目标 熟练掌握函数的使用,了解如何制作思维导图
参考文献 C语言程序设计,C Primer Plus(第六版),百度,markdown语法

1.PTA实验作业

从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

1.1(7-2)求组合数

题目内容描述:本题要求编写程序,根据公式(C=frac{n!}{m!(n−m)!})算出从n个不同元素中取出m个元素(m≤n)的组合数。
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

1.1.1数据处理

·数据表达:用了i,m,n,result变量。其中i,m,n为整型变量,分别用于作为中间变量和输入的参数;result为双精度浮点型变量,作为最终的组合数
·数据处理:运用了for语句,使用了自定义函数,顺序结构。表达式为result=fact(n)/(fact(m)*fact(n-m))
·函数参数:主调函数为int main(),被调函数为double fact(int n),为double型。实参名称:n,m,result,类型:n,m为int型,result为double型,形参名称i, product,类型:i为int型, product为double型。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2 7 21 样例 从7个不同元素中取出2个元素,m<n
3 4 4 从4个不同元素中取出3个元素,m<n
2 8 28 从8个不同元素中取出2个元素,m<n
6 6 1 从6个不同元素中取出6个元素,m=n
4 3 0 m>n

1.1.4 PTA提交列表及说明


提交列表说明:
1.编译错误:对自定义函数不太理解,没有声明自定义函数。解决办法是在头文件下定义一个函数。
2.编译错误:定义函数double fact(int n)后的分号忘记打。解决办法在后加上分号。
3.答案错误:表达式result写错,直接写成了result=fact(n)。解决办法将表达式改为result=fact(n)/(fact(m)*fact(n-m))。
4.多种错误:最后一个}忘记打,解决办法在最后加上}

1.2 (7-3) 求幂之和

题目内容描述:本题要求编写程序,计算(sum=2^1+2^2+2^3+cdots+2^n)可以调用pow函数求幂。

1.2.1 数据处理

·数据表达:用了i,n,power,result变量。其中i,n为整型变量,power,result为双精度浮点型变量。n是由用户输入的值,i从初始值随循环不断加一,sum和result都与其他变量所共同决定。
·数据处理:运用了for循环,表达式为power=pow(2,i); result=result+power。
·函数参数:主调函数为int main(),为整型,被调用函数为#include<math.h>。实参名称:i,n,类型为整型;形参名称:power,result,类型为double型。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
5 result=62 样例
6 result=126 n<10
0 result=0 n=0为最小值
10 result=2046 n=10为最大值
11 result=4094 n>10

1.2.4 PTA提交列表及说明


提交列表说明:
1.答案错误:result未进行定义。解决方法:在主函数前将result进行定义。
2.格式错误:result等于号前后没有打空格。查找了好久没有找出来,不知道为什么格式错误,最后询问了同学才知道,要在等号两边打空格。解决办法在result等号前后加上空格。

2.代码互评

同学代码截图:

自己代码截图:

1.习惯定义的变量不同,同学定义的是sum,而我定义的是product。
2.同学的代码只运用到了一次for循环,而我的代码用了两次for循环。只使用一次减少了代码行数,更简洁明了,能使自己和他人更容易懂。

同学代码截图:

自己代码截图:
!

1.同学的代码排版十分简洁精炼,看起来很舒服,容易明白,而我的比较复杂。
2.同学定义变量比较清晰明确,用字母表示比较简单,检查时思路能够很清晰,值得我学习。
3.同学的代码使用了自定义函数,调用了函数define M(a),define Sum,,表示明确,我的没有调用这些函数。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周/10.19~10.25 15小时 150行 在屏幕上显示Hello World!学会了怎样用PTA进行写代码作业,学会了markdowm语法
第九周/10.26~11.1 12 小时 350行 求华氏温度对应的摄氏温度 常量,变量和数据类型 知道以后要怎样向别人提问 变量问题,输入输出格式
第十周/11.2~11.8 20小时 460行 for循环,if else语句 对于&的用法不了解,输出时保留几位小数
第十一周/11.9~11.15 17小时 440行 生成乘方表和阶乘表,对函数定义和调用,思维导图 目前不太熟练,调用函数不太理解

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

本周学习了生成乘方表和阶乘表,自定义函数,学会了制作思维导图。学到后面越来越难,现在学到的函数感觉比以前难得多,需要花费比以前更多的时间和精力。遇到的问题也越来越多,但在不断的学习过程中可以发现自己很多的不足,就会努力地去解决并从中收获到许多东西,不断地锻炼自己。这周c语言作业花的时间较多,但效率不高,目前基础不牢固,我需要提高学习效率,将基础打牢,在编程中需要更加仔细,有不懂得地方要积极询问他人,还要更努力,做到更好。

原文地址:https://www.cnblogs.com/hejiao/p/13957689.html