• C语言I博客作业05


    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 C语言1博客作业05
    我在这个课程的目标是 学会运用函数编代码
    这个作业在那个具体方面帮助我实现目标 写C语言作业的时候,编代码的实践中
    参考文献 教材《C语言程序设计1》

    一、Pta实验作业

    1.1求组合数

    本题要求编写程序,根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数
    建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

    输入格式:

    输入在一行中给出两个正整数m和n(m≤n),以空格分隔。

    输出格式:

    按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

    输入样例:

    输出样例:

    1.1.1数据处理

    数据表达:使用了整型int变量i,m,n,其中i连用了2次,浮点型double变量result,M,N,Q以及定义和调用函数fact(n)
    其中double变量result要通过整型变量i通过for循环语句循环式子 result = resulti得出,而M,N,Q则是用来附上函数fact(n)的;
    数据处理:首先一个基础源程序框架,然后函数声明:double fact(int n);主要通过for循环语句时result = result
    i以及最终的:result = fact(n)/(fact(m)*fact(n-m));
    ** 函数参数:int main() 为主调函数;double fact(int n)为被调函数;整型;实参为result;形参为n,都为整型。

    1.1.2实验代码截图

    1.1.3 造测试数据

    |||
    -|-|-|
    输入数据|输出数据|说明|
    6 7|result = 7|m≤n|
    7 7|result = 1|m=n|
    8 7|result = 0|n≤m|

    1.1.4 PTA提交列表及说明

    提交列表说明:

    1.编译错误:第16行int i后面没打“;”;
    2.答案错误:输出结果没按照“result =”来写;
    3.答案错误:结果保留小数错了。

    1.2水仙花数判断

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

    函数接口定义:


    其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。

    裁判测试程序样例:

    输入样例:

    输出样例:

    1.2.1数据处理

    数据表达:使用了整型int变量sum,n
    数据处理:基础源程序框架,运用while循环语句和if-else判断语句来运行表达式sum +=(n % 10)(n % 10)(n % 10);n /= 10;
    ** 函数参数:int main() 为主调函数;被调函数:int func(const int N),被调函数的名称func,被调函数的类型为整型,形参N.

    1.2.2实验代码截图

    1.2.3造测试数据

    |||
    -|-|-|
    输入数据|输出数据|说明|
    7|1|素数|
    100|0|不是素数|
    0|1|代码条件之外|

    1.2.4PTA提交列表及说明

    二、代码互评

    同学(付翔亮)代码截图

    同学(乐树文)代码截图

    我的代码截图

    • 第一位同学和第二位同学的代码区别:第一位同学代码用的while循环语句,而第二位同学用的是for循环语句;而且第一位同学用的n /=10表示得到的值等于n除以10后商的整数部分,而第二位同学则用了两个表达式x=i%10和i=i/10来表达这个意思,而且第一个同学做了一些多余的操作,在最后那里多加了个“{}”,虽然不影响,但完全没必要。
    • 我和两位同学的代码区别:我的代码和第一位同学的差不多,不过就是排版好看一些,所以和第二位同学的区别类似于第一条。

    三、学习总结

    3.1 学习进度条

    |||||
    -|-|-|-|-|
    周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
    第七周|10小时|132行|常用的数学函数,if-else语句|函数的运算问题|
    第八周|13小时|156行|学会运用for循环语句和知晓DevcC++调试|对于DevcC++还是不大会用|
    第九周|12小时|145行|学会了函数定义和调用函数|对于函数的返回,不是很理解|

    3.2 累积代码行和博客字数

    时间 博客字数 代码行数
    第五周 464 0
    第六周 1017 50
    第七周 1638 185
    第八周 2533 341
    第九周 3421 520

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    • 本周学习了定义和调用函数,以及函数的返回;
    • 这周进一步进行了代码的调试,上周我只是知道有这么个东西,会流程,具体操作其实并不会,这周会了大概,设置断点,添加查看变量,一步一步测试;

    请用思维导图的形式将到目前为止所学的内容进行整理。

    3.3.2 学习体会

    学到的东西越来越多,题目难度也越来越大,有点不适应了,时间越来越紧迫,不是说大一最轻松吗。。。我怎么感觉玩的时间都没有,一周两节课,作业也有两次。通过课本稍微学了一点while的循环语句,感觉比for循环语句使用方便,也可能是题目问题,还不够熟练,为了变优秀,我还得继续努力啊。

  • 相关阅读:
    HugePage简介和KVM中使用HugePage
    Linux HugePage特性
    tcpreplay工具安装使用
    libpcap丢包原理分析及Fedora 9 内核2.6.25.14下安装PF-RING的详细过程
    linux fedora 14(内核2.6.35.6) PF_RING+libpcap 极速捕获千兆网数据包,不丢包
    CPU亲和力
    Linux中link,unlink,close,fclose详解
    LINUX内核升级-更新网卡驱动
    2019-2020-2 20175319江野《网络对抗技术》Exp9 Web安全基础
    2019-2020-2 20175319江野《网络对抗技术》Exp8 Web基础
  • 原文地址:https://www.cnblogs.com/pengjie20199484/p/11745146.html
Copyright © 2020-2023  润新知