这个作业属于哪个课程 | C语言程序设计I |
这个作业要求在哪里 | C语言I-2019秋作业05 |
我在这个课程的目标是 | 熟悉并掌握基本的程序语,掌握编写乘方表和阶乘表,初步了解函数的定义和调用。 |
这个作业在那个具体方面帮助我实现目标 | PTA上帮助我更好的掌握编写乘方表和阶乘表,课后做的思维导图使我对函数的定义跟调动更熟悉了,完成思维导图使我又将学习过的基本程序语复习了一遍,使我印象更深刻了。 |
参考文献 | 百度百科 |
1.PTA实验作业
1.1判断一个整数的各位数字平方之和能否被5整除
编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。函数接口定义:int fun(int n );其中 n 是用户传入的参数。 函数判断n的各位数字平方之和能否被5整除,能被5整除则返回1,否则返回0。
1.1.1数据处理
数据表达:使用了整型变量s,z。
数据处理:使用了while语句进行循环,表达式为s=s+(n%10)*(n%10)
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1234 | The result is 1 | 多位数 |
123 | The result is 0 | 样例数据 |
12 | The result is 1 | 样例数据 |
1.1.4 PTA提交列表及说明
①编译错误:没注意到题目要求,还是以#include<stdio.h>开的头,然后出现编译错误,改正后进行第二次提交。
②编译错误:输入函数scanf后面的分号忘记打了,while语句后面多加了一个分号。经过改正后进行第三次提交。
③答案正确
1.2 水仙花数判断
本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0。
1.2.1数据处理
数据表达:使用了a,b,c三个整型变量,分别表示百位数,十位数,个位数。
数据处理:先计算出N分别与a,b,c之间的数量关系,然后用if~else语句输出最后结果。
1.2.2实验代码截图
1.2.3造数据测试
输入数据 | 输出数据 | 说明 |
---|---|---|
153 | 1 | 样例数据 |
100 | 0 | 最小三位数 |
1.2.4 PTA提交列表及说明
①编译错误:对于N的判断使用只一个等号而不是两个,所以导致错误。
②编译错误:4行5行6行最后的分号都被遗忘了。
③编译错误:if语句中括号里面的括号没有打。
2.代码互评
同学代码(来自计科陈卓尧)
第五周PTA作业第3题
第五周PTA作业第2题
自己代码
第五周PTA作业第2题
第五周PTA作业第3题
第2题比较结果
①陈同学使用了do-while语句,然后整个代码中对平方之和得数的算法也很简洁明了。
②我在写代码的时候也用了do-while语句,后来我也看到了其他同学有更简洁的答案,但是我不太明白那种答案的来由。
③总的来说我跟他的代码行数不同,我是16行而他是25行,我俩相对来说他的答案看起来会好看一点,但是实际上我们用的方法是相似的。只是代码中数据表达所用的方式不一样。
第3题比较结果
①他设置了5个整型变量,然后分别将其数学关系式表达出来,最后再用if-else语句算出最终结果。
②我设置了3个整型变量,然后将其数学关系式分别列出来,然后用N直接判别结果,他其中还使用了中间变量,运用N是否等于中间变量来判别结果。
③写题的方式有很多种,思路步骤也会有不一样的地方,他值得我学习的地方有很多,比如很多地方都清清楚楚的列出来之后,就不会自乱阵脚,这一点我可能做的不够好,因为我总想着要怎样一步到位,很多时候都会自己给自己绕晕或者是遇到问题毫无头绪,不管怎么样理清思路最重要。
3.学习总结
3.1学习进度条
周/日期 | 周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第4周/10月18~24 | 10h | 148行 | 基本程序语言与生成乘方表与阶乘表 | 基本程序语言了解的都差不多了,有些不是特别熟练还是需要加强练习的,生成乘方表跟阶乘表这方面的内容还有很多不懂的,觉得完成作业很费力气,要查阅各种资料,可能跟我数学理解能力不强也有关系吧。 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
真的大赞百度百科,我发现我上回百度百科了出现编译错误怎么改错之后,科普了好多好多,然后我就创了个文件夹摆桌面上里面就存着我学习c语言以来的百度到的一些知识延申。包括这次思维导图,好多同学都跟我说可以把没学的去掉,但是我不知道为啥就是想留着,因为百度上是把那些归为一类的,我就想着等我以后学到了,我再用来把这个思维导图补齐也是可以的。然后在做思维导图的过程中我也找到了好多老师上课讲了但是我没记住的,或者是老师上课没有详细讲的,但是百度上有很详细的解答。可能第一次接触这个东西,有很多详细的解答我都不能够很快的看懂,以后有疑问不光要勤找百度还要勤练习,毕竟这个课程不是只要有理论就行的,必须要有实践,还要有耐心。第五周结束了,第六周会更好,加油。