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

    这个作业属于哪个课程 C语言程序设计II
    这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11489
    我在这个课程的目标是 想要学好C语言,为以后的学习打下基础
    这个作业在那方面帮助我实现目标 调用函数,了解别人的代码对自己进行改变,为以后写编写程序打下基础
    参考文献 c语言程序设计,C Primer Plus 第六版
    学号 20209108

    1.1题目名1使用函数求圆台体积

    本题要求实现函数求圆台体积,定义并调用函数volume_tc(r_lower, r_upper, h)计算下底半径为r_lower、上底半径为r_upper、高度为h的圆台的体积,函数类型是double。

    1.1.1数据处理

    • 数据表达:用了PI,h,r_lower,r_upper,v等变量,是double型,变量是运用了赋值法得来的。
    • 数据处理: result = PIh(r_lowerr_lower + r_upperr_upper + r_lower*r_upper)/3;顺序结构,赋值法和自定义函数。
    • 函数参数:主调函数#include<stdio.h>,被调函数double volume_tc(double r_lower, double r_upper, double h);被调函数为double型,实参为double h, r_lower, r_upper, 形参为double v,PI。

    1.1.2实验代码截图

    1.1.3造测试数据

    输入数据 输出数据 说明
    10,30,5 result=6806.78 小于10000.00
    20,40,10 result=29321.51 大于10000.00
    30,60,5 result=32986.69 大于10000.00
    25,30,5 result=11911.86 大于10000.00
    15,30,5 result=8246.67 小于10000.00


    1.1.4PTA提交列表说明

    • 编译错误:
      <1> double volume_tc(double r_lower, double r_upper, double h)后面多加个;。
      <2>没有看清题目要求,直接写了全部代码,然后怎么都不正确。
    • 解决办法:
      <1>是去掉;
      <2>把自己上面多写的代码删掉,也希望借此改正自己不好好看题的坏习惯。

    1.2题目名2求组合数

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

    1.2.1数据处理

    • 数据处理:用了n,m,i,product;其中n,m为整型变量,i为循环变量,product为双精度浮点型变量。通过赋值和循环得到的。
    • 数据处理:
      <1>表达式:result = fact(n)/(fact(m)fact(n-m)); product = producti;
      <2>流程结构:循环结构,顺序结构。
    • 函数参数:主调函数#include<stdio.h>,被调函数double fact(int n);被调函数为double型;实参为int i,n,m,double result;形参double
      product。

    1.2.2实验代码截图

    1.2.3造测试数据

    输入数据 输出数据 说明
    2,7 21 大于10
    3,5 10 等于10
    3,3 1 等于1
    3,9 84 大于10
    4,6 15 大于10


    1.2.4PTA提交列表及说明

    • 编译错误
      <1>result = fact(n)/(fact(m)*fact(n-m))少了一个括号。加上一个括号。
      <2>double fact(int n);少了一个;。加上一个分号。
    • 答案错误:
      <1>scanf ("%d %d", &m, &n)把m,n的值搞反了。解决办法是把&n,&m改为&m,&n。

    2.代码互评

    • 章绮同学的作业

    • 我的代码
    • <1>同学的代码只用到了一次循环,而我的代码用了两次循环,少了一次循环就比我的简洁明了,更是少了繁琐,而我的{}里面的循环可以完全不用要。
      <2>同学的代码给没有给result赋原始值,我的代码就给result赋值了,虽然她的很简洁省去了很多不必的步骤,很优秀。但作为初学者的我认为我的代码是我的思路,更容易让我自己理解明白,以至于以后能够更深入的思考。
      *同学的代码
    • 我的代码

      <1>同学的代码设置了很多变量我觉得没有必要要,我本人觉得有点复杂,但是也非常优秀的。
      <2>还多给result赋值,我们可能因为自身不同习惯也是不同的,思路也是不一样的,同时我们也是一样的。
      <3>我也觉得他的代码很容易让人理解,更能深入思考。

    学习总结

    • 3.1学习进度条
    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较困惑的问题
    11.8—11.14 14小时 235 调用函数,生成乘方表和阶乘等 对函数的调用还不是很明白
    11.1—11.6 10小时 195 学到了循环结构,掌握了for循环语句等 有时格式不知道怎么解决
    10.25—10.31 13小时 175 华氏温度的求法等 表达式的应用
    10.18—10.24 15小时 40 Hello World!等简单句
    • 3.2累积代码行和博客字数。
    • 3.3学习内容总结和感悟。
      <1>通过一个月的学习我们学会了编程Hello World!等简单的句子,然后学了华氏温度的转换,分支结构if,else。for的循环结构,这个星期学了阶乘和调用函数等知识点。
      <2>一个月走过来,我慢慢的适应,不管怎样都要提前预习更重要的是态度,我们要自己学会探索,学会独立思考,善于发现别人代码的美,也希望未来我可以越来越好。
    • 3.3.1
    • 3.3.2
      <1>通过这么久的学习,我发现学的内容越来越深了,我也意识到要提前预习。要独立思考,学会凭借自己的努力来获取成就感超级好。
      <2>其实通过学习,我收获了好多朋友,我们会一起探讨,一起相互促进,朝着同一个目标前进。
      <3>我也很喜欢老师的教学方式,先自己独立思考,然后在学习,效果加倍,加油。
  • 相关阅读:
    聊一聊HTML <pre>标签
    [Effective JavaScript 笔记]第20条:使用call方法自定义接收者来调用方法
    数据库的权限管理
    完整性约束
    MYSQL
    Python并发编程之协程
    python并发编程之多线程
    python并发编程之多进程
    进程
    网络编程之socket的运用
  • 原文地址:https://www.cnblogs.com/glyxrf/p/13965684.html
Copyright © 2011-2022 走看看