郭雷雨

导航

 
这个作业属于哪个课程 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>我也很喜欢老师的教学方式,先自己独立思考,然后在学习,效果加倍,加油。
posted on 2020-11-12 23:27  郭雷雨  阅读(928)  评论(10编辑  收藏  举报