• C语言I博客作业05


    二、本周作业头##

    这个作业属于那个课程|C语言程序设计II
    --|:--:--
    这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9825
    我在这个课程的目标是|较为熟练的掌握对函数的定义与生成乘方表与阶乘表,同时学会使用思维导图。
    这个作业在那个具体方面帮助我实现目标|PTA有关生成乘方表与阶乘表的函数题,MindManager软件的应用。
    参考文献|百度百科,C语言程序设计,思维导图

    1.PTA实验作业###

    1.1判断一个整数的各位数字平方之和能否被5整除####

    1.1.1数据处理
    数据表达:用了a,h,n,i,result1;h表示该整数的各位数;a表示把n的值赋给a;i表示循环起点,n表示循环终点;result1表示整数各位数的平方和。
    数据处理:1.条件表达式:if(result1%5==0) 2.逻辑表达式:for(;n>0;n/=10),3.算术表达式:result1+=h*h;取余h=n%10;
    使用了for循环语句与if-else语句。
    函数参数:主调函数:int main() 被调函数:int fun( int n ) 类型int型;实参:fun(m),形参:(int n)。

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    m=1 The result is0 1的平方不能被五整除
    m=2 The result is1 5的平方恰好能被五整除
    m=34 The result is1 3和4的平方和能被五整除
    m=145 The result is0 1和4和5的平方和不能被五整除

    1.1.4 PTA提交列表及说明

    1.编译错误:include单词手快打错了。
    2.编译错误:第四行的分号忘打了。
    3.编译错误:使用pow函数忘了编写#include<math.h>。
    4.编译错误:放弃pow函数,第五行忘了打分号。
    5.编译错误:result%5少打个=导致是赋值的意思。
    6.编译错误:没检查出来,同第六条一样。
    7.编译错误:最后的大括号忘打了。

    1.2使用函数验证哥德巴赫猜想####


    1.2.1数据处理

    第一个函数####

    数据表达:用了i,result, p;i表示循环起点;result表示结果,result 0表示不是素数。p表示输入的整数。类型:int型
    数据处理:1.条件表达式:if(p<2),if(p%i0)。2.逻辑表达式:for(i=2;i<=sqrt(p);i++) 3.算术表达式:p%i0。
    流程结构:if-else语句,for循环语句。
    函数参数:主调函数:int main()。被调函数:int prime( int p ) 。 类型:int型;
    形参:prime( int p );实参:prime(m)

    第二个函数####

    数据表达:用了n,p,q;p表示最小素数,q表示输入整数减去最小素数;n表示输入整数。类型:int型。
    数据处理:1.逻辑表达式:for(;p<= n;p=p+2) ;2.条件表达式:if (prime(p)&&prime(q)) ;3.赋值表达式:int p = 3。
    函数参数:主调函数::int main()>。 被调函数:void Goldbach( int n)。类型:int型。
    形参:Goldbach( int n); 实参:Goldbach(i)。
    1.2.2实验代码截图
    第一个函数:

    第二个函数:

    1.2.3造测试数据

    输入数据 输出数据 说明
    m=6,n=6 无,6=3+3 6不小于6,但6也不是素数。
    m=4,n=7 无,6=3+3 4小于6,所以已经跳出循环。
    m=89,n=100 89is a prime number;90=7+83, 92=3+89, 94=5+89, 96=7+89, 98=19+79,100=3+97 89大于6且为素数,而后的就是素数分割。
    1.2.4 PTA提交列表及说明
    1.部分正确:i<=sqrt(p)该条件没有取等与号
    2.部分正确:i<=sqrt(p)该条件没有取等于号
    3.编译错误:没有编写result=1;
    4.答案错误:第一个函数没有判断小于2的情况。
    5.答案错误:没有看清题意,而把最小素数定为偶素数2;
    6.答案错误:把p=p+2编写为p=p+1;
    7.答案错误:把return result;该语句放在for循环内导致错误。
    8.编译错误:在第二个函数中少打了个大括号
    9.编译错误:if(p%i==0)该语句中少打了等于号。
    10.答案错误:for(i=2;i<=sqrt(p);i++)该语句中把sqrt单词达成sprt。

    2.代码互评###

    自己代码|同学代码(刘帅同学)
    --|:--:--
    |
    不同点:1.我是通过使用for循环而解答该题,而刘帅同学是通过使用while语句来解答该题
    2.相比我的代码刘帅同学的显得更加的精简。
    3.刘帅同学的while中n不等于0表示当n等于0时跳出循环,而我的也是表达这样的意思;只是书写方法不同

    自己代码|同学代码(高中同学)
    --|:--:--
    |
    不同点:1.这份代码是我问我以前同学发给我的代码,他的代码也运用了while语句而我只是单纯的for循环。
    2.他这份代码思路比较清晰,而且标明了代码的所表达的意思。他运用了pow函数而我简单的运用了乘法原理。
    3.相比他的代码,我的代码比较简易;但他的代码更加让人能看懂。

    3.学习总结###

    3.1 学习进度条####

    周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题
    --|:--:--:--
    10/19-10/26|15h|334行|如何编写自定义函数及更加熟练掌握for循环|自定义函数关系的建立

    3.2 累积代码行和博客字数####

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会
    经过一周的学习,又学到了许多新的知识,从这一周开始我接触到了自定义函数;自我感觉这才是真正开始,而一开始学习自定义函数就来个哥德巴赫猜想;使我懵的一批;
    从开始的一点思路都没有到通过自我思考有了一点点思路。但最终通过百度百科找到了突破口;在哥德巴赫猜想这个题中,加强了我对for循环以及if-else语句的了解;同时也
    让了解到了编写程序不是看看书就能编写出来的;需通过自己不断的试验;有句话说得好“实践是检验真理唯一标准”;需要花费自己大量时间去琢磨,去认真的体会代码的含 义。
    同时学习到了在自定义函数的时候,要注意被调函数与主调函数之间的关系。而且在本周的学习当中又接触到了一个新的知识点,那就是思维导图;个人认为思维导图可以很好
    地帮助我们去总结知识点,同时使我们的知识构架越来越清晰。能有效的提高我们的总结能力。

  • 相关阅读:
    webNav
    keyBoardValue
    认证,权限,频率
    路由组件与视图集中附加action的声明
    视图组件
    请求与响应
    DRF序列化组件
    DRF入门及安装
    后台管理
    auth认证模块
  • 原文地址:https://www.cnblogs.com/zengzi123/p/11729439.html
Copyright © 2020-2023  润新知