C语言|博客作业03

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11451
这个作业的目标 <要求我们学会掌握使用for循环语句实现指定次数的循环程序设计,认清自己在编写程序时所出现的问题,理解每题中的数据表达和数据处理>
学号 <20209223>

一、PTA实验作业

1.1 求简单交错序列前N项和(15分)

1.1.1 实验代码截图

1.1.2 数据处理

数据表达 : <整数类型 int;字符型函数表达 scanf()、printf(); 双精度浮点型 double>
数据处理 :<for 循环结构 (i=1;i<=N;i++);逗号表达式 (int denominator,flag,i,N;>

1.1.3 PTA提交列表及说明

  • Q1.一开始我是在DevC++上面做的,做了好久好不容易把程序写出来了,结果答案出错了
  • A1.在DevC++上运行的结果总是0.836,复制粘贴到PTA里面运行也是0.836
  • Q2.经过反复的检查程序,把一些该空格的地方空格,不该空格的地方不空格,最后输出结果才正确
  • A2.让我明白在PTA上的输出格式是很严谨的

1.2 求分数序列前N项和 (15分)

1.2.1 实验代码截图

1.2.2数据处理

数据表达 :整数类型 int;双精度浮点型 double;函数scanf()和printf()
数据处理 :for 循环结构(i=1;i<=n;i++);赋值表达式 x=b;b=a;a=a+x

1.2.3 PTA提交列表及说明

  • Q1.一开始公式不知道怎么去写,想了好久,对于数学基础不好的我来说,好难呀
  • A1.开始我是a=1,b=2使得在Devc++上运行老是结果不对,后仔细观察题目后发现每一项的分子是前一项分子与分母的和,分母是前一项的分子。
  • Q2.经过多次思考式子写出来了,让我们明白编写任何一个程序首先逻辑得先正确

1.3 求平方根序列前N项和 (15分)

1.3.1 实验代码截图

1.3.2数据处理

数据表达 :sprt 函数;整数类型 int;双精度浮点型 double;函数scanf(),printf()
数据处理 :赋值表达式 sum=sum+sprt(i); for 循环结构 (i=1;i<=n;i++)

1.3.3 PTA提交列表及说明

  • Q1.一开始看到题目中的根号就头疼,不知道该如何运用sprt函数调用平方根
  • A1.后仿照前面做过的较简单的求和题目才逐步有了思路,首先我是这样的sum=sum+sprt,后来运行一直不对
  • Q2.经过多次尝试和请教同学,试着将i加在sprt后面,sum=sum+sprt(i),才使得运行结果正确

二、.阅读代码(-5——5分)

找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方

题目:给定两个字符串 s 和 t,判断它们是否是同构的,如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的.所有出现的字符都必须用另一个字符替 换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/isomorphic-strings

class Solution {
public:

bool isIsomorphic(string s, string t) {
    if (s.size() != t.size()) return false;
    unordered_map<char,int> M1,M2;

    for(int i = 0; i < s.size();i++){
        M1[s[i]] = i;
        M2[t[i]] = i;
    }

    for(int i = 0; i < s.size();i++){
        if (M1[s[i]] != M2[t[i]]) return false;
    }  
          
    return true;
}
  • 优点及可学习的地方:从这个代码来看,虽然这是一个简单代码,但里面也有挺多代码是不理解的,不明白它所代表的意思。但在里面看到了我所熟悉的结构,for循环结构,这是一道关于映射的题目,题目中应用了一个map来处理映射,对于s到t的映射题中设当前遇到的字母分别为M1,M2,判断M1[s[i]是否等于M2[t[i],验证之前的映射和当前字母是否相同,进行循环,最后输出结果。整篇代码的逻辑,思路清楚,值得我去学习,而且排版清晰工整,一目了然。

三.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第三周 三天 130 使用for循环语句实现循环程序的设计 有时程序中表达式写不对而出错

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

时间 博客字数 代码行数
第一周 534 14
第二周 820 120
第三周 1320 130

3.3 学习感悟

①通过几周以来C语言的学习,开始逐步理解了一部分程序语言的含义,也更加让我感觉到c语言的学习不是那么容易。首先一定要认真细心,容不得半点马虎,我们一定要多去实练,只有在不断练习当中我们才能取得进步。
②课堂的时间是有限的,我们需要在课后花时间去复习巩固课堂所学,甚至进行扩展,多花时间去练习。多向懂得多的同学去请教,每天进步一点点。认真完成好每一次作业,无论是博客园还是课堂作业。

posted @ 2020-11-07 14:48  花开宿语  阅读(195)  评论(5编辑  收藏  举报