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

    C语言程序设计 2020级计科三班
    作业的要求 https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11454
    作业的目标 对所写代码进行分析,总结以及本周的学习感悟
    学号 20209028

    1.1、求N分之一序列前N项和
    计算序列 1 + 1/2 + 1/3 + ... 的前N项之和,给出一个正整数N,在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。

    1.1.1、实验代码截图

    1.1.2、数据处理

    • 该代码运用了整型变量N,i;双精度浮点型变量sum;
    • 变量的值通过定义,赋值运算,算术运算得来,类型是整型和浮点型;
    • 该代码的数据运用了初值表达式,条件表达式,步长表达式,流程结构为循环结构。

    1.1.3、PTA提交列表及说明

    • Q1:对于该代码中的i的理解有点偏差,"sum=sum+1.0/i"写成sum=sum+1.0/i+1。
    • A1:经过查阅资料,前面写的循环体语句中已经对i的值进行变化,所以不需要在算术运算中加1。
    • Q2:对代码进行运行时输出的结果正确,但提交结果显示格式错误。
    • A2:仔细阅读程序样例后发现错误并改正。

    1.2、求简单交错序列前N项和
    计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和,给出一个正整数N,在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。

    1.2.1、实验代码截图

    1.2.2、数据处理

    • 该代码运用了整型变量denominator,flag,i,n,变量denominator表示第i项的分母,flag表示第i项的符号;双精度浮点型变量item,sum;
    • 变量的值通过定义,赋值运算,算术运算得来,类型是整型和浮点型;
    • 该代码的数据运用了初值表达式,条件表达式,步长表达式,流程结构为循环结构。

    1.2.3、PTA提交列表及说明

    • Q1:对于正负符号的改变不知道如何去编写代码。
    • A1:通过翻阅课本,了解了flag的含义及用法:flag表示第i项的符号,初值为正,每次循环执行flag=-flag可实现正负交替变化。
    • Q2:忽略了题目中所讲的精确到小数点后三位。
    • A2:经过检查后发现错误并加以改正。

    1.3、生成3的乘方表
    输入一个非负整数n,生成一张3的乘方表,输出输30~3n的值,给出一个非负整数n,可调用幂函数计算3的乘方,按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。

    1.3.1、实验代码截图

    1.3.2、数据处理

    • 该代码运用了整型变量n,i;双精度浮点型变量power;
    • 变量的值通过定义,赋值运算,算术运算得来,类型是整型和浮点型;
    • 该代码的数据运用了初值表达式,条件表达式,步长表达式,流程结构为循环结构。

    1.2.3、PTA提交列表及说明

    • Q1:调用printf()函数输出结果的语句未放在for语句中导致调试只出现了一个结果。
    • A1:题目中所给的输出样例为i=3,所以调试应该有四个结果,出现这种结果的原因是输出结果的语句未放入循环体结构中。

    2.阅读代码

    题目:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

    可学习之处:

    • fun()是一个函数,其中int fun(int m,int n)是函数fun()的首部;第一个int是函数的类型,第二、三个int是形参m,n的数据类型。
    • 该代码运用if-else语句和while语句。while语句是计算机的一种基本循环模式,当满足条件时进入循环,不满足则跳出,和for语句相似。

    疑问:

    • 不能理解return fun(m,n)这个部分,通过查找资料,发现该代码和闭包有点关系,但还不能理解它代表的含义。

    3.1、学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    1/11-1/18 8小时 26行 阶乘、Hello Wolld!、数字,英文字母、汉族的输出、Markdown语法
    2/23-2/30 10小时 110行 华氏摄氏度转摄氏度、计算平均分
    3/1-3/8 14小时 252行 计算分段函数(if-else语句)、循环语句(for语句)、指定次数的循环程序设计 对于某些题目的数学知识转换还不是很熟悉

    3.2累积代码行和博客字数

    3.3、学习感悟

    • 相对于前两周而言,我感觉比以前进步了很多,学会了更多的新知识,不在像之前一样毛手毛脚,写代码会犯很多低级错误,更加像一个专业人士。但在这周的学习中还是存在着许多问题,例如:懂得调试但不知道如何去运用调试找出问题所在。
    • 感悟:要用心对待每一段代码,不可以忽视每一个小符号,理解好每一个语句所代表的含义加以运用;
    • 新想法:每天坚持写代码,保证一周的代码量,学好每一个知识点,充实大学生活。
  • 相关阅读:
    layui使用iconfont
    MySQL&MyBatis 时间处理的配合
    Jira客户端
    同级div设置display:inline-block,父级div强制不换行
    Spring RestController 请求参数详解
    Mybatis映射文件
    Redis分布式锁
    Netty1
    Maven工程打成一个jar包
    Maven 工程读取resource下的文件
  • 原文地址:https://www.cnblogs.com/Sxywjk/p/13939464.html
Copyright © 2011-2022 走看看