这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业05 |
我在这个课程的目标是 | 学会使用函数fact(i)掌握阶乘的算法 |
这个作业在那个具体方面帮助我实现目标 | 在编写PTA作业的过程中,逐渐熟练 |
参考文献 | 集美大学林丽老师 |
1.PTA实验作业
1.1 题目名1
判断一个整数的各位数字平方之和能否被5整除
编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
1.1.1数据处理
- 数据表达:图中有a,sum两个字母,使用的是整数型,其中a代表每次除以10的余数,sum代表各个数字的平方和。
- 数据处理:根据题意可得a=n%10,sum=sum+a*a。在使用if语句判断sum是否能被5整除。
- 函数参数:主调函数为int main(),被调函数为int fun(int n),都为整型函数。n为实参,a,sum为形参,它们都为整型参数。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
9 | 0 | 不能被5整除 |
56 | 0 | 不能被5整除 |
125 | 1 | 可以被5整除 |
1.1.4 PTA提交列表及说明
- 编译错误:忘记在a之间打上*号
- 编译错误:忘记在赋值语句后打上;号
- 编译错误:未理解清楚题目意思,将1和0的位置打反了
- 编译错误:if语句中未打两个等号
1.2 题目2
水仙花数判断
题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
1.2.1 数据处理
- 数据表达:图中有i,s,a三个整型字母,其中i=N代表输入的数,a代表i除以10的余数,s代表各个数字三次方的和。
- 数据处理:据题意可知N=i,a=i%10,s=s+aaa,利用while语句可算出各个数字三次方的值。
- 函数参数:主调函数为int main(),被调函数为int func(const int N),都为整型函数。其中N为实参,s,a都为形参,且都为整数参。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
8 | 0 | 8的立方不等于8 |
26 | 0 | 2的立方加6的立方不等于26 |
228 | 0 | 2倍2的立方加上8的立方不等于228 |
1.2.4 PTA提交列表及说明
- 编译错误:第一行的被调函数后面加上了;号
- 部分正确:忘记打i=N
- 部分正确:将s=s+aa中的s忘记了
- 部分正确:s==N中的等号只打了一个
2.代码互评
##同学代码截图
自己代码截图
* 该同学一开始便用了数学函数来计算次方,而我因为次方不多直接用的乘法,较简单一些。 * 在循坏上,我用了while循环,该同学用了for循环。for循环可以设置次数,而while循环条件满足没有次数限制。因此各有各的好。
同学代码截图
自己代码截图
* 相同:我与该同学一样设置了三个整型变量 * 不同:该同学直接给三个变量设置了三个表达式,将x,y,z一个个算出,而我依然使用的是while循环。同学的方法比较好理解,不过编写较麻烦,可以适当借鉴。
3.学习总结
1.3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行数 | 学到的知识点简介 |
---|---|---|---|
第四周 | 2天 | 28 | 学习语句的输出 |
第六周 | 4天 | 20 | 用 MinGW-w64 来编译C程序,学习编程计算温度的转化 |
第七周 | 3天 | 99 | 学习用if,else等语句编译程序 |
第八周 | 2天 | 75 | 学习使用循环语句,用for来编译程序 |
第九周 | 3天 | 94 | 学习各种使用函数eg:fact(i) |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
```
在本周的学习过程中我接触到了函数,不得不说的是函数不管是在数学里还是C语言中都是让人烧脑袋的一部分。从PTA的题目可以看出函数需要较强的逻辑性和理解力,还需要对函数的表达有一定的了解。学习内容越来越深入,难度、代码行数也在逐渐增多。因此为了跟的上题目的步伐,我们也该不断努力的提升自己。