这个作业属于哪个课程 |
C语言程序设计1 |
这个作业的要求在哪里 |
|
在这个课程的目标是 |
熟练掌握函数的声明、定义和调用的用法 |
参考文献 |
《C 语言程序设计》,百度 |
1. PTA实验作业
1.1判断一个整数的各位数字平方之和能否被5整除
编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
1.1.1数据处理
数据表达:运用了两个整形变量i和s,s赋值为0,i通过while得出值
数据处理:n为输入值时形参。通过scanf语句读取输入数据并赋值给m,在调用fun()函数时,这份数据会传递给形参n.
函数参数:主函数main(),被调函数fun()。被调函数为整形,实参m,形参n,都是整形。
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
5 | 1 | 一位数 |
11 | 0 | 两位数 |
125 | 1 | 三位数 |
666 | 0 | 任意三位数 |
1.1.4 PTA提交列表及说明
编译错误 | 误将return后面的括号删除 |
部分正确 | 把行参输入而没有定义实参导致部分正确 |
编译错误 | 直接将vs代码复制到PTA上,后将scanf改回 |
编译错误 | while语句后加上了分号 |
编译错误 | while 语句中的循环体结构表达错误 |
编译错误 | 再用for语句在实验代码,中出现了很多错误,后该为while语句 |
编译错误 | 一样 |
1.2水仙花数判断
本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
1.2.1数据处理
数据表达:定义了两个整形变量sum,a并令sum的初始值为0.
数据处理:将输入的值N赋值与a,在让sum经过while语句,最后判断输入值和输出值是否相等。
1.2.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
144 | 0 | 随机三位数 |
353 | 0 | 随机三位数 |
298 | 0 | 随机三位数 |
1.1.4 PTA提交列表及说明
部分正确 | 优化算法 |
部分正确 | 不断地优化算法,并使用了while 语句 |
部分正确 | 形参带入到实参的运算中导致 |
编译错误 | 头文件#include<math.h>放在了自定义函数当中导致编译错误 |
部分正确 | 在循环语句当中有不和逻辑的地方导致 |
编译错误 | 返回值后没有加分号 |
2.代码互评
同学代码截图
自己代码截图
不同点
1.同学代码运用的时if语句判断并输出结果而我的代码则是返回判断语句直接输出结果
2。同学代码在调用函数的过程定义了a,b,c 三个整形变量,然后一步一步的输出并赋值,最后直接用形式参数比较运算式得出结果。缺点就是只能判断上限为3位数的水仙花数。
我的代码定义一个整形变量a使用while语句通过表达式 sum += pow((a % 10),3),a/10赋值给a,继续循环,当a为0时值时跳出循环执行返回值。得出结果
3.学习总结
3.1学习进度条
周/日期 | 本周所花时间 | 代码行数 | 学到的知识 |
第八周 | 15小时 | 180行 | 学习了自定义函数的用法 |
3.2博客字数和代码行数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2学习体会
这个星期的空闲时间基本一直在学习,明明没有什么限制但是却总感觉时间很紧。经过一周的学习,我愈加觉得自学实在是一件很重要的东西,老师布置的作业往往就需要课本后面的知识去完成,所以不加快步伐自己往后面学习的话,就很难全部完成老师布置的作业了,现在的情况就是做题目的时候往往要翻阅各种资料, 才能知道题目具体的思路,再对比他人的代码,寻找自己代码的不足之处,再加以修改。所以我的代码往往都是集各路大佬精华凝聚而成[emjio]。
所以在接下来的学习过程中我要争取自己写出优秀的代码,让他人去借鉴。