C语言I博客作业03

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-2/
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11453
这个作业的目标 加深对for循环的理解,熟悉使用方法
学号 20209000

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

1.1求简单交错序列前N项和

题目内容描述:计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和

1.1.1实验代码截图

1.1.2数据处理:

数据表达:整型变量 x,y,i,n。浮点型变量itm,sum
数据处理:表达式和流程结构 item=y*1.0/x; sum=item+sum; y=-y; x=x+3;

1.1.3 PTA提交列表及说明


Q1:整型和浮点型混用。
A1:编译之后及时改正,程序正确。

1.2 求分数序列前N项和

题目内容描述:计算序列 2/1+3/2+5/3+8/5+... 的前N项之和

1.2.1 实验代码截图

1.2.2 数据处理

数据表达:整型变量i,N。浮点型变量sum,item,x,y,t
数据处理:表达式和流程结构 t=y; y=x+y; x=t; item=y/x; sum=sum+item

1.2.3 PTA提交列表及说明


Q1:没有注意到sum是浮点型而用了%d。
A1:编译后发现错误,并及时改正。

1.3求平方根序列前N项和

题目内容描述:计算平方根序列√1+√2+√3+⋯的前N项之和

1.3.1 实验代码截图

1.3.2 数据处理

数据表达:整型变量i,N;浮点型变量sum
数据处理:sum=sum+sqrt(i)

1.3.3 PTA提交列表及说明


Q1:经常忘记结尾的;,导致程序错误。
A1:能迅速找到并快速解决。

2.阅读代码(-5——5分)

const twoSum = (nums, target) => {
  const prevNums = {};                    // 存储出现过的数字,和对应的索引               

  for (let i = 0; i < nums.length; i++) { // 遍历元素   
    const curNum = nums[i];               // 当前元素   
    const targetNum = target - curNum;    // 满足要求的目标元素   
    const targetNumIndex = prevNums[targetNum]; // 在prevNums中获取目标元素的索引
    if (targetNumIndex !== undefined) {   // 如果存在,直接返回 [目标元素的索引,当前索引]
      return [targetNumIndex, i];
    } else {                              // 如果不存在,说明之前没出现过目标元素
      prevNums[curNum] = i;               // 存入当前的元素和对应的索引
    }
  }
}

代码功能:用 1.hashMap 存储遍历过的元素和对应的索引。2.每遍历一个元素,看看 hashMap 中是否存在满足要求的目标数字。3.所有事情在一次遍历中完成(用了空间换取时间)。
代码优点:虽然代码比其他的多一点,但是却有更好的可读性。写代码就像写句子,读起来轻松的代码,自己理解也方便,下次再看的时候,也不会出现“我当时写的是啥,我怎么看不懂”,再敲一遍也不容易出bug。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花费的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 14h 300行 对自己的专业有些了解 暂无
第二周 16h 500行 如何提问 暂无
第三周 19h 900行 for的循环及其使用 暂无

3.3 学习感悟(5分)

请回顾自己的本周的学习过程,如果你有新的想法或者新的方法,请及时记录下来。

1 在开始学之前,我一直都认为这是一个很难得专业,当然事实也是这样,

而付出之后所得的收获也是更加令我满意和舒适,有更多的成就感。

2 通过这段学习,我明白努力才会有收获,我们这个专业,不努力听课学习,那是真的什么也不懂,

而且还要实践,多做题,才能有好的理解,作业也不会让自己太窘迫。

posted @ 2020-11-08 00:23  天辰幕  阅读(95)  评论(6编辑  收藏  举报