一、表格

问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9825
我在这个课程的目标是 深入了解C语言,争取掌握更多的数据类型及结构,熟练地编译有效代码
这个作业在那个具体方面帮助我实现目标 学习到自定义函数,可以帮助我简化代码
参考文献 C语言程序设计
二、本周作业
=============
1. PTA实验作业

1.1 题目名1

编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
函数接口定义:
int fun(int n );
其中 n 是用户传入的参数。 函数判断n的各位数字平方之和能否被5整除,能被5整除则返回1,否则返回0。

1.1.1 数据处理

数据表达:整型变量(n,sum,a)、n的值是接收输入的值,开始给sum赋值为零,a就是n/10是的余数
数据处理:用到了for循环结构、if-else分支结构。表达式有赋值运算符(=)、算术运算符(+,%,/)、关系运算符(==)。
函数参数:主调函数是main()、被调函数是fun()。被调函数是整型的,形参是n、实参是m 。这里还用了数学函数pow。

1.1.2 实验代码截图

1.1.3 造测试数据

输入 输出 说明
10 The result is 0 最小两位整数
500 The result is 1 d较大三位整数
999 The result is 0 最大三位整数

1.1.4 PTA提交列表及说明

部分正确:这个错误我找了很长时间一直没有找出来,就在尝试改变1和0的顺序。
部分正确:这个错误我找了很长时间一直没有找出来,就在尝试改变1和0的顺序。
部分正确:直到第三次发现不是return这里的错,是在上面的a=n%10和n=n/10的位置反了导致答案一直不正确。

1.2 题目名2

本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
函数接口定义:
int func(const int N);
其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。

1.2.1 数据处理

数据表达:整型变量(a,b,N,sum),a是b/10的余数,把N的值赋给b,给sum的初始值赋为0。
数据处理:用到了for循环结构、if-else分支结构。表达式有赋值运算符(=)、算术运算符(+,%,/)、关系运算符(==,>)。
函数参数:主调函数是main()、被调函数是func()。被调函数是整型的,形参是N、实参是N。这里还用了数学函数pow。

1.2.2 实验代码截图

1.2.3 造测试数据

输入 输出 说明
153 1 验证题目数据
1 1 最小自然数
125 0 较大三位数

1.2.4 PTA提交列表及说明

答案正确:这道题和第二题很像,而且在编译器上事先验证过,所以就一次正确了。

2. 代码互评

同学代码①

自己代码①

  1. 第一眼看上去两份代码就有很大区别,同学的代码很简洁,我的却很长。
  2. 这位同学用了while循环语句,我用的的是for。目前while还没学,看来这位同学有提前学习。
  3. 我用了if-else语句,这位同学却没用,虽然我没看懂但是他的很简单。

同学代码②

自己代码②

  1. 同学用的while循环语句,我用的是for循环语句。这两者while更简单一点。
  2. 两份代码都用了if-else语句来判断输出。
  3. 同学代码在计算sum是用的乘,我用的是pow函数。同学的代码长但运行简单,我的代码短但运行较复杂,毕竟多了一个函数。

3. 学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较困惑的问题
第五周/10-24 3 155 学习到了自定义函数 自定义函数的具体定义过程,实参形参有些迷惑

3.2 累计代码行和博客字数

3.3 学习内容总结

3.4 学习体会

  • 本周重点学习了自定义函数,目的是减少编程中多次重复的过程。先定义函数再调用该函数进行运算。
  • 这周内容感觉感觉掌握的不是太好,在定义过程复杂是就有些想不通了。特别是这次PTA第四题完全不会,想不出是怎样的过程。
  • 对于这周内容还是要再学习学习。