zoukankan      html  css  js  c++  java
  • C语言I博客作业04

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11500
    我在这个课程的目标是 对函数的定义和调用有初步的认识,能模仿编程。
    这个作业在那个具体方面帮助我实现目标 完成PTA上的作业的过程中、写编程总结
    参考文献 C语言程序设计、百度

    1.PTA实验作业(20分/题)

    1.1 求组合数

    题目内容描述:

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

       输入格式:
       输入在一行中给出两个正整数m和n(m≤n),以空格分隔。
    
       输出格式:
       按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。
    
       输入样例:
       2 7
       输出样例:
       result = 21
    

    1.1.1数据处理

       数据表达:所用变量:n、m、i(整型(int)),product、result(双精度浮点型(double));这些变量的值的来源:n和m是自定义的,i是每循环一次后在原有的基础上加1,product = product * i,result = fact (n) / (fact (m) * fact (n - m))。
       数据处理:数据用到的表达式: product = product * i,result = fact (n) / (fact (m) * fact (n - m));流程结构:循环结构。
       **函数参数:主调函数:int main();被调函数:fact();被调函数的类型:双精度浮点型(double);实参:i、n、m、n-m(整型);形参:n、m(整型)。**
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    2 7 return = 21 m<n
    3 9 return = 84 m<n
    6 9 return = 84 m<n
    6 6 return = 1 m=n
    0 0 return = 1 m=n=0
    8 6 return = 0 m>n
    3 -6 return = 0 m>n,n<0
    -5 3 return = 0 m<n,m<0

    1.1.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。

    提交列表说明:

       1.编译错误:多了一个分号;
         解决办法:将多余分号删除。
    

    1.2 求幂之和

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

       输入格式:
       输入在一行中给出正整数n(≤10)。
    
       输出格式:
       按照格式“result = 计算结果”输出。
    
       输入样例:
       5
       输出样例:
       result = 62
    

    1.2.1 数据处理

       数据表达:所用变量:i、n、sum(整型(int));这些变量的值的来源:n是自定义的,i是每循环一次后在原有的基础上加1,对sum赋值,然后在循环中计算sum = sum + pow(2,i)。
       数据处理:数据用到的表达式: sum = sum + pow(2,i);流程结构:循环结构。
       **函数参数:主调函数:int main();被调函数:pow();被调函数的类型:整型(int);实参:i,n,sum(整型);形参:n(整型)。**
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    5 result = 62 0<n<10
    10 result = 2046 n=10
    -5 result = 0 n<0
    0 result = 0 n=0
    13 result = 16382 n>10

    1.2.4 PTA提交列表及说明


    提交列表说明:

       1.编译错误:将i++打成了n++;
         解决办法:将n改为i。
    

    2.代码互评(5分)

    找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

    同学代码截图

    自己代码截图

     1、第一份的代码与我的不同之处:代码的上部分内容与下部分内容所放位置不同,而且他还用了if-else语句说明正整数m要小于等于正整数n,他所写的代码比我自己所写的更严谨;
     2、第二份的代码与我的不同之处:他写的代码所用的表达式更多,在输出所需值时,直接在printf中计算得出,而我的直接用result = fact (n) / (fact (m) * fact (n - m))计算得出;
     3、第一份代码与第二份代码的不同之处:第一份代码用if-else语句,用一个表达式直接计算出所需结果,第二份代码先用多个表达式计算出所需计算的小部分,再将其合并计算得出所需结果。
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第三周 4天 156 for语句 在综合表达式中,不知道为什么不能用"[ ]"
    第四周 2天 169 函数的定义和调用 函数的定义和调用的格式不太懂

    3.2 累积代码行和博客字数(5分)

    时间 博客字数 代码行数
    第一周 638 12
    第二周 562 97
    第三周 2058 156
    第四周 1737 169

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会

    1、本周的学习了函数的调用,写的代码有一些地方与以前不一样了,还不太习惯;
    2、通过搜索资料弄明白作业中不懂的地方,又学到了新知识;
    3、通过比较自己与同学所写的代码,学习他人的优点;
    4、不理解的地方:函数的定义与调用的格式不太懂;
    5、对于不熟的地方多加练习。

  • 相关阅读:
    后缀数组
    网络流 HOJ1087
    备用
    css-具有缩略图的材料列表
    正则匹配log行
    vue-cli的webpack打包,icon无法正确加载
    导出CSV,导出excel数字过长显示科学计数法解决方案
    js导出CSV
    git常见操作指令
    javascript原型的意义
  • 原文地址:https://www.cnblogs.com/zhge/p/13972469.html
Copyright © 2011-2022 走看看