• C语言l博客作业04


    这个作业属于哪个课程 C语言程序设计ll
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11489
    我在这个课程的目标是 了解函数的定义和调用
    这个作业在那个具体方面帮助我实现目标 熟练掌握函数的使用,了解如何制作思维导图
    参考文献 C语言程序设计,C Primer Plus(第六版),百度,markdown语法

    1.PTA实验作业

    从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

    1.1(7-2)求组合数

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

    1.1.1数据处理

    ·数据表达:用了i,m,n,result变量。其中i,m,n为整型变量,分别用于作为中间变量和输入的参数;result为双精度浮点型变量,作为最终的组合数
    ·数据处理:运用了for语句,使用了自定义函数,顺序结构。表达式为result=fact(n)/(fact(m)*fact(n-m))
    ·函数参数:主调函数为int main(),被调函数为double fact(int n),为double型。实参名称:n,m,result,类型:n,m为int型,result为double型,形参名称i, product,类型:i为int型, product为double型。
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    2 7 21 样例 从7个不同元素中取出2个元素,m<n
    3 4 4 从4个不同元素中取出3个元素,m<n
    2 8 28 从8个不同元素中取出2个元素,m<n
    6 6 1 从6个不同元素中取出6个元素,m=n
    4 3 0 m>n

    1.1.4 PTA提交列表及说明


    提交列表说明:
    1.编译错误:对自定义函数不太理解,没有声明自定义函数。解决办法是在头文件下定义一个函数。
    2.编译错误:定义函数double fact(int n)后的分号忘记打。解决办法在后加上分号。
    3.答案错误:表达式result写错,直接写成了result=fact(n)。解决办法将表达式改为result=fact(n)/(fact(m)*fact(n-m))。
    4.多种错误:最后一个}忘记打,解决办法在最后加上}

    1.2 (7-3) 求幂之和

    题目内容描述:本题要求编写程序,计算(sum=2^1+2^2+2^3+cdots+2^n)可以调用pow函数求幂。

    1.2.1 数据处理

    ·数据表达:用了i,n,power,result变量。其中i,n为整型变量,power,result为双精度浮点型变量。n是由用户输入的值,i从初始值随循环不断加一,sum和result都与其他变量所共同决定。
    ·数据处理:运用了for循环,表达式为power=pow(2,i); result=result+power。
    ·函数参数:主调函数为int main(),为整型,被调用函数为#include<math.h>。实参名称:i,n,类型为整型;形参名称:power,result,类型为double型。
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    5 result=62 样例
    6 result=126 n<10
    0 result=0 n=0为最小值
    10 result=2046 n=10为最大值
    11 result=4094 n>10

    1.2.4 PTA提交列表及说明


    提交列表说明:
    1.答案错误:result未进行定义。解决方法:在主函数前将result进行定义。
    2.格式错误:result等于号前后没有打空格。查找了好久没有找出来,不知道为什么格式错误,最后询问了同学才知道,要在等号两边打空格。解决办法在result等号前后加上空格。

    2.代码互评

    同学代码截图:

    自己代码截图:

    1.习惯定义的变量不同,同学定义的是sum,而我定义的是product。
    2.同学的代码只运用到了一次for循环,而我的代码用了两次for循环。只使用一次减少了代码行数,更简洁明了,能使自己和他人更容易懂。

    同学代码截图:

    自己代码截图:
    !

    1.同学的代码排版十分简洁精炼,看起来很舒服,容易明白,而我的比较复杂。
    2.同学定义变量比较清晰明确,用字母表示比较简单,检查时思路能够很清晰,值得我学习。
    3.同学的代码使用了自定义函数,调用了函数define M(a),define Sum,,表示明确,我的没有调用这些函数。

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周/10.19~10.25 15小时 150行 在屏幕上显示Hello World!学会了怎样用PTA进行写代码作业,学会了markdowm语法
    第九周/10.26~11.1 12 小时 350行 求华氏温度对应的摄氏温度 常量,变量和数据类型 知道以后要怎样向别人提问 变量问题,输入输出格式
    第十周/11.2~11.8 20小时 460行 for循环,if else语句 对于&的用法不了解,输出时保留几位小数
    第十一周/11.9~11.15 17小时 440行 生成乘方表和阶乘表,对函数定义和调用,思维导图 目前不太熟练,调用函数不太理解

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    本周学习了生成乘方表和阶乘表,自定义函数,学会了制作思维导图。学到后面越来越难,现在学到的函数感觉比以前难得多,需要花费比以前更多的时间和精力。遇到的问题也越来越多,但在不断的学习过程中可以发现自己很多的不足,就会努力地去解决并从中收获到许多东西,不断地锻炼自己。这周c语言作业花的时间较多,但效率不高,目前基础不牢固,我需要提高学习效率,将基础打牢,在编程中需要更加仔细,有不懂得地方要积极询问他人,还要更努力,做到更好。

  • 相关阅读:
    hdu 1045 Fire Net
    hdu 1044 Collect More Jewels
    hdu 1043 Eight
    hdu 1042 N!
    hdu 1041 Computer Transformation
    hdu 1040 As Easy As A+B
    CI在ngnix的配置
    angularjs表单验证checkbox
    chrome浏览器跨域设置
    angularjs向后台传参,后台收不到数据
  • 原文地址:https://www.cnblogs.com/hejiao/p/13957689.html
Copyright © 2020-2023  润新知