一、PTA实验作业
实验代码截图
1.1 判断一个整数的各位数字平方之和能否被5整除
- 编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
1.1.1数据处理
- 数据表达:变量“sum,n”;变量值的来源”赋值运算,算术运算“;变量类型“sum,n都是(int)整型变量”
- 数据处理:表达式“sum+=(n%10)*(n%10),n/=10”;流程结构“分支结构”
- 函数参数:int main()为主调函数;int fun(int n)为被调函数;实参“m",参数类型“整型变量”;形参“n”,参数类型“整型变量”
1.1.2实验代码截图
1.1.3造测试数据
输入 |
输出 |
说明 |
25 |
The result is 0 |
25的各为数平方之和为29不可以被5整除 |
8 |
The result is 0 |
8平方之为64不可以被5整除 |
402 |
The result is 1 |
402的各位数之和为20可以被5整除 |
1.1.4PTA提交及列表
- 1.编译错误:在定义的函数后面错误的加了分号
- 2.编译错误:定义变量时分号忘记打
- 3.编译错误:将等于符号写成赋值符号
- 4.编译错误:没有加上返回主函数的指令
2.1 水仙花数判断
- 本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
2.1.1数据处理
- 数据表达:变量“i,j,k,N”;变量值来源“赋值运算,算数运算”;变量类型“都是整型变量”
- 数据处理:表达式“i=N/100,j=N/10%10,k=N%10";流程类型”分支机构“
- 函数参数:int main()为主调函数;int func(const int N)为被调函数;实参”N",参数类型“整型变量”;形参“N”,参数类型“整型变量”
2.1.2实验代码截图
2.1.3造测试数据
输入 |
输出 |
说明 |
256 |
return 0 |
256不是水仙花数 |
721 |
return 0 |
721不是水仙花数 |
401 |
return 1 |
401是水仙花数 |
2.1.4PTA提交列表及说明
- 1.编译错误:有一处的赋值运算少了分号
- 2.部分正确:应该是有些数据无法在程序中测验
二、代码互评
同学1代码
我的代码
- 1.在对素数的判断函数的定义中这位同学是先对p进行判断在进行循环然后在进行判断,而我则是先循环在进行判断,对比可以发现这位同学的代码更容易被解读
- 2.哥德巴赫猜想函数的定义中这位同学对fof循环语句中设置的条件和我的不一样,因此后面要判断的条件也不一样
同学2代码
我的代码
- 1.这位同学直接一步表示了各个数的立方之和,我则是分开进行计算,相比较之下这位同学的代码更简洁
- 2.这位同学先算出了各个数立方之和在进行判断,我则直接把各个数的立方和与判断放在了一起,这样让代码看起来更清楚
三、学习总结
3.1学习进度条
|周/日期|这周所花时间|代码行|学到的知识点的简介|目前比较迷茫的问题|
|------|------|------|------|------|------|
|5/21-5/25|24小时|91行|自定义函数并调用该函数对数学函数进行运算|有点不太分的清楚实参和形参|
3.2累积代码行和博客数
3.3学习内容总结和感悟
- 3.3.1学习内容总结
- 3.3.2学习体会
- 通过这个礼拜的学习,发现了自己很多问题,第一就是老师上课讲的东西不是记得特别清楚会遗漏一些细节和新的内容;第二就是对与部分错误还是不懂是什么意思,然后在PTA中还会有一些scanf、return没有声明之类的错误警告,这个我也不懂要表达的是什么。但我也发现这次在做PTA时对与空格和没有打空格的问题少了许多,有一种在语句结束时要打分号的习惯了。