这个作业是属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 编写函数,看懂函数 |
这个作业在那个具体方面帮助我实现目标 | 多个题目运用函数解决 |
参考文献 | 文章链接 |
1.PTA实验作业
1.1:判断一个整数的各位数字平方之和能否被5整除
1.1.1数据处理
数据表达:定义了整数y。
数据处理:运用了do-while语句 y=y+(n%10)*(n%10) n=n/10,将整数各个位上的数均进行平方并且累加
再使用if-else语句处理y的结果最后是否能被5整除后分别返回数值。
函数参数:主调函数为int main(),被调函数int fun(int n ) 实参是%d 形参 int n 类型:整型 名称:输入的整数
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
12 | The result is 1 | 样品参数 |
123 | The result is 0 | 样品参数 |
12 | The result is 1 | 与样品参数一致 |
123 | The result is 0 | 与样品参数一致 |
567 | The result is 1 | 无错误 |
1.1.4 PTA提交列表及说明
1.编译错误:漏写分号,查询得知“!”为非的意思,并且运用了do-while语句解决了问题。
2.运行超时:将n=n/10;这一行错写成了y=y/10,导致运行超时。(粗心)
3.全部正确:全部纠正后正确
1.2 本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
1.2.1数据处理
数据表达:int a ,b,c,d;四个整型并且分别将abc赋值为个位十位百位上的数。
数据处理:d=aaa+bbb+ccc; d赋为各个位上的数立方和,之后运用if-else语句进行判断d是否等于输入的数。
函数参数:主调函数为int main(),被调函数int func(int N) 实参是%d 形参 int N 类型:整型 名称:输入的整数
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
153 | 1 | 样品参数 |
123 | 0 | 与样品参数相反 |
568 | 0 | 与样品参数相反 |
1.2.4 PTA提交列表及说明
1.部分正确:第一次很顺利的写出了程序大概,但是对于各个位置的处理错误,百位并不是N%1000,而是c=N/100,十位是b=N/10%10;不是N%100。
2.编译错误:中途尝试简化程序,去除多余的if-else语句并且修改了bc赋值。
3.答案正确:顺利更改错误。
2.代码互评
同学代码:
自己代码
1.排版都十分简洁,精炼。
2.同学1的代码中,for循环语句里将(1.0/)flag的运算与我的1.0/可以划等号。
3.吸取了上次作业中同学的分区域写代码优点。
3.学习总结
3.1 学习进度条
日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/7--10/13 | 5个小时 | 80 | 学到了if语句 | 暂无 |
10/13--10/20 | 5个小时 | 100 | 学习for循环语句 | 暂无 |
10/20--10/27 | 5个小时 | 98 | 学习了函数定义 | 暂无 |
3.2 累积代码行和博客字数**
3.3 学习内容总结和感悟**
3.3.1 学习内容总结
3.3.2 学习体会
这次作业pta作业难度我觉得有所提高,更加增长了自身编程的各项技能,能运用所学的知识解决更多问题。但是6-6 使用函数验证哥德巴赫猜想的函数表达,我想了很久,首先读懂题目就有难度,先需要判断输入的数是否小于1,