C语言|博客作业04
C语言|博客作业04
一.作业头
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-3 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11491 |
| 这个作业的目标 | 加深对代码的知识点理解,借鉴学习同学优秀方法,和同学相互交流学习,对现学的知识进行回顾总结 |
| 学号 | 20209176 |
二.本周作业头
| 这个作业属于那个课程 | C语言程序设计II |
| ---- | ---- | ---- |
| 这个作业要求在哪里 | https://pintia.cn/problem-sets/1326075729675509760 |
| 我在这个课程的目标是 | 能熟练定义函数并调用,对函数有深刻的理解 |
| 这个作业在那个具体方面帮助我实现目标| 通过练习相关的题目来了解定义函数 |
| 参考文献 | C语言例题如何生成乘方表和阶乘表 |
三.本周作业
1.pta实验作业
1.1换硬币
~ 题目内容描述:将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
1.1.1实验代码截图

1.1.2 数据处理
数据表达:用到了a,b,c,i,count,均为整形变量,定义了自定义函数fen(i)
数据处理:i为输入的值,a,b,c均为for循环执行判断的变量,并在后面输出
函数参数:主函数为int main,被调函数为fen(i),被调函数类型为整形,实参为i .a,b,c,count是int的形参
1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 13 | fen5:2, fen2:1, fen1:1,total=4 fen5:1, fen2:3, fen1:2,total=6 fen5:1, fen2:2, fen1:4,total=7 fen5:1, fen2:1, fen1:6,total=8 count = 4 | 样列 |
| 8 | fen5:1, fen2:1, fen1:1,total=3 count = 1 | 最小值 |
| 9 | fen5:1, fen2:1, fen1:2,total=4 count = 1 | 一般样列 |
1.1.4 pta提交列表及说明

1.答案错误:一开始没有输出count
1.答案正确:开始用自定义函数写了,答案正确
2.答案错误:后来用宏定义重新写了一遍,但一直错误,后来仔细对照发现输出有个符号不对
3.答案正确:之后更改了错误,宏定义可以大大缩短运行时间,提高运行效率,宏定义应用#define来定义函数
1.2 验证“哥德巴赫猜想”
~ 题目内容描述:数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。
1.2.1实验代码截图

1.2.2 数据处理
数据表达:运用整形变量a,m,i,定义函数Sushu(int a),这些变量均为整形变量
数据处理:a为输入整形变量
函数参数:主函数为int main,被调函数为int SUShu(int n),实参为m,a.i,n是int的形参
1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 24 | 5+19 | 样列 |
| 4 | 2+2 | N最小 |
| 8 | 3+5 | 一般数值 |
| 30 | 3+37 | 一般数值 |
| 1.2.4 pta作业提交列表 |

1.运行超时,答案错误,多种错误:运行超时是因为计算数据过大,应缩小运算范围,答案错误是因为在for循环中输出了多个结果,但题目要求只要输出一个结果,在输出后面加一个break跳出循环
2.部分正确:提交结果中对题目部分要求未返回正确的值,N取最小值的时候返回值不正确
2.代码互评
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图


自己代码截图

1.第一位同学定义变量比较清晰明确,每一个值对应一个变量,代码简洁直观,
2.第二位同学的代码使用了自定义函数,并在代码里多处使用x,y表示同一变量,表示明确
3.我的代码使用宏定义来输出和计算,减小了代码的时间复杂度
3.学习总结
3.1学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 2/2-2/8 | 1500 | 570 | 二维数组,数组的多个输入输出 | 对数组的调用还不是很清楚 |
| 3/9-3/15 | 1800 | 750 | 自定义和调用函数,宏定义 | 如何用宏定义写一些计算式,自定义函数的用途 |
3.2累积代码行和博客字数

3.3学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
1这周学习到了自定义函数,现在我可以比较完整的自定义和调用函数,使用自定义函数来简化代码
2.对自定义函数的一些使用的优点还不是很了解,不知道在哪些时候应该使用自定义函数,什么时候使用自定义函数,那些情况必须使用自定义函数
3.对宏定义不是很清楚,很多情况不知道能不能用宏定义,该怎么用宏定义编写

浙公网安备 33010602011771号