这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11494 |
这个作业的目标 | 学会调用函数以及比较同学代码与自己代码的差别 |
这个作业在那个具体方面帮助我实现目标 | 自定义函数,调用函数 |
参考文献 | C语言程序设计 |
1.PTA实验作业(20分/题)
1.1 求组合数
题目内容描述:
根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.1.1数据处理
数据表达:变量为 r,z,a,s,i,变量值通过定义而来,其中s=s * i,a=r-z;运用了整型和双精度浮点型。
数据处理:用到了for循环语句,scanf语句,和自定义函数fact(r)计算阶乘。
函数参数:主调函数是int main(),为整型;被调函数是double fact(r),被调函数是浮点型;形参是r,z,a,类型是整型,实参是i,s,类型是整型。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3 8 | result = 56 | 正确格式 |
8 3 | result = 0 | r<z |
-1 3 | result = 0 | 违背所需数值为正整数的定义 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.编译错误:自定义函数的声明后面分号忘记打。测试之后经检查发现错误。
2.部分正确:对其中某一个的定义,因其数值过大,应该使用double型数据。经多次测试时结果仍不正确,后仔细查阅则改正。
3.答案错误:变量位置错误,因为变量之间存在大小之分,当位置反了时则得不到正确答案。仔细阅读题目要求改变位置。
1.2 求幂之和
题目描述:
计算2的幂次方之和,调用pow函数求幂。
1.2.1 数据处理
数据表达:变量为i,n,power,r,其中power=pow(2,i);应用了整型和双精度浮点型。
数据处理:同样运用for循环语句,以及power函数计算2的幂次方。
函数参数:主调函数是int main(),为整型,无调用函数,实参是i,r,n,其中i,n为整型,r为浮点型。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
7 | result = 254 | 正确格式 |
-1 | result = 0 | -1为非正整数 |
0 | result =0 | 0为整数而非正整数 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.编译错误:还是分号问题,因为不仔细,后经过查验发现错误再改正。
2.部分正确:输出样例中等号两边没有空格,对题目要求模糊记忆,导致审题不清,后查看输出样例改正错误。
3.部分正确:在printf语句中忘记添入参数r,经多次检阅发现错误所在。
2.代码互评(5分)
题目:计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
同学代码截图
自己代码截图
1.该同学运用了两次双精度浮点型,使代码更加简洁;而我只用了一次,显得繁琐。
2.该同学定义的变量简单,言简意赅,而我的代码变量字母较多,不易清晰简明地阅读。
题目:根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数。
同学代码:
自己代码:
1.该同学赋值时精确到小数点后一位;我的赋值为整数,比我的更精确。
2.该同学运用了result * =i,而我的是s=s * i,运用的赋值运算符不同。
3.两份代码都运用了本周学习的自定义函数,该同学调用函数在主函数前面,和我的相反。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第一周 | 5h | 68 | 简单编程 | 编程的框架变化 |
第二周 | 15h | 251 | 算术运算和赋值运算 | printf语句和scanf语句的确切使用方式与位置 |
第三周 | 25h | 368 | for循环语句的应用,浮点型的学习 | 具体需要循环的地方还不是很明白 |
第四周 | 26h | 389 | 自定义函数和调用函数 | 对调用函数的定义和使用还比较模糊 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
1.本周学习了如何调用函数,但是于我而言还是具有一定的困难,有些编程的意义还没搞懂,导致完成PTA作业时耗时过长。
2.虽然有很多还不懂,但是总的来说还是学到了很多,例如:对比同学的编程代码与自己的区别,每个人思路不同,代码也呈现出差异,这样更有助于自己拓展思路,提升个人能力;对循环语句的应用也得到了练习和加强等等。
3.越往后学习就越能感受到每个人学习之间的差距,班上有些同学的学习十分努力,从作业中可以看出他们的实力很强,这告诉我应该向他们学习,同时有种自己要落后了的紧迫感。
© 著作权归作者所有
发表评论