C语言I博客作业05

问题 答案
这个作业属于哪个课程 c语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9827
我在这个课程的目标是 熟练使用C语言
这个作业在那个具体方面帮助我实现目标 pta习题,学习使用思维导图
参考文献 https://www.cnblogs.com/muhongxing/archive/2009/12/22/1628782.html

1.PTA实验作业

1.1本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.

1.1.1数据处理

  • 数据表达:N,x,y,分别为输入的值,代替N进行运算的值,各位数之和。
  • 数据处理:用到了x<1000&&x>100,y=(x%10)(x%10)(x%10)+y等表达式。结构类型为选择结构和循环结构。
    *主调函数为main(),被调函数为func(int N),N为形参,int类型;实参也为N。

1.1.2实验截图代码

1.1.3造测试数据

输入数据 输出数据 说明
153 1 题目要求
999 0 三位数上限
1000 0 四位数
-153 0 负数

1.1.4PTA提交列表和说明


  • 编辑错误:使用了pow来计算三次方,但头文件没有include<math.>,后来直接用三次连乘。

1.2 本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。

1.2.1 数据处理

  • 数据表达:p,y,z,n,j;分别为prime()函数的行参,除数,能被整除的次数,Goldbach( )函数的形参,能被分解的最小素数。
  • 数据表达:p%y0,z++,z2,prime(n-j)0||prime(j)0,j++;结构流程为选择结构和循环结构。
  • 主调函数为main(),被调函数为prime(),Goldbach(),形参分别为p,int类型;n,int类型;实参分别为m,int类型;i,int类型。

1.2.2 实验代码截图


1.2.3 造数据测试

输入数据 输出数据 说明
89 100 89 is a prime number90=7+83, 92=3+89, 94=5+89, 96=7+89, 98=19+79,100=3+97, 题目要求
1 3 无显示 最小值
1 15 6=3+3, 8=3+5, 10=3+7, 12=5+7, 14=3+11 较小值

1.2.4PTA提交列表及说明

  • 在dev c++ 上实验无数次,花费近两小时,PTA一次过,实际错误忘了。

2.代码互评

  • 同学代码
  • 自己代码

    同学代码考虑到代码要求在三位数,故未使用循环语序取各位数,我在写的时候思维惯性按照上一题选择了循环语句,同学的的代码好处在于一目了然,较简单。

3.学习总结

3.1 学习进度条

| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
| - | - | - |
| 10/18-10月26| 12小时 | 90 | 自定义函数的声明和调用 | for循环和while循环各自的利弊 |

3.2 累积代码行和博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

  • PTA习题一次比一次难,这一次的第四题第一次让我感觉到了无从下手的感觉,但是仔细一步一步慢慢来还是能够写出来的,
    还是要多刷这种“高难度”的题目提升自己。
posted @ 2019-10-26 19:18  ‘panzer  阅读(196)  评论(1编辑  收藏  举报