这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业的要求在哪里 | C语言I作业05 |
我在这个课程的目标是 | 掌握并运用自定义函数解决程序问题 |
这个作业在哪个具体方面帮助我实现目标 | 对程序的整体把握以及自定义函数的使用条件 |
参考文献 | C语言程序设计、百度百科、C语言I作业05 |
1.PTA作业
1.1 水仙花数判断
本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
1.1.1 数据处理
数据表达:定义整型数s、n,s与n共同判断是否为水仙花数,如果是则返回值为1,不是则为0
数据处理:自定义函数func,利用while循环与程序语句s=s+(n%10)(n%10)(n%10);n/=10;计算最后所得的数字,若最后所得的数字与输入值N相等,则输出1,否则输出为0.
函数参数:调用的主函数为main,被调函数为func,都为整型函数,实参为N,形参为n、s,都为整型
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
123 | 0 | 不是水仙花数 |
233 | 0 | 不是水仙花数 |
153 | 1 | 是水仙花数 |
1.1.4 PTA提交列表以及说明
1.编译错误:数学语句转程序语言中%打成/,式子中的;没打
2.编译错误:return 0打成return o
1.2 判断一个整数的各位数字平方之和能否被5整除
编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
1.2.1 数据处理
数据表达:定义整型数t,t为n通过计算之后的输出值,之后在计算t,若等于0则输出1,不等于0则输出0
数据处理:将数学函数变成程序语言 t += (n%10)*(n%10);n/=10;,计算出t的值,之后再用if-else语句判断是否能被5整除,如果可以,则输出1,不可以则输出0
参数函数:主调函数为main,被调函数为fun,都为整型函数,实参为m,形参为t,都为整型数
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 | The result is 0 | 不符合要求 |
12 | The result is 1 | 符合要求 |
78 | The result is 0 | 不符合要求 |
1.2.4 PTA提交列表及说明
1.编译错误:t%5==0打成t%5=0
2.代码互评
同学代码截图
自己代码截图
·我是将所有数一个一个罗列出来计算,他是使用pow来简化运算
·开辟了更多的空间来节约运算的时间
·自己最后是直接输出0或1,而他是先将i赋值,在输出i
同学代码截图
自己代码截图
·老样子,自己是吧一个一个列出来计算,而他是利用pow计算乘方
·他的格式更加精简,看起来更加舒服
·我利用if-else语句,而他没有,简化了运算
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第九周/10.21~10.28 | 30小时 | 500 | 如何自定义函数 | 可不可以自定义一个函数然后给予这个函数更多的定义? |
3.2 累计代码行和博客字数
3.3 学习内容总结和感悟
3.3.2 学习体会
·终于意识到为什么当程序员容易秃头了,因为要天天熬夜码代码。但是我也在码代码的同时感受到了另类的感觉,就是一种代码终于码对之后的那种狂喜,这种是一种无论如何都掩饰不了也无法掩饰的感觉。我想这就是支撑程序员的精神支柱吧。学习的过程很困难,但是我还是会坚持学习只要不秃头