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

    C语言I博客作业02

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11449
    这个作业的目标 <理解代码的含意,总结本周知识>
    学号 <20209142>

    一:PTA实验作业

    1.1

    1.1.1:编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

    1.1.2::介绍实现本题过程中,你的数据表达、数据处理是怎么做的。
    • 数据表达:用了N,j,sum,k变量,N是赋的初始值,sum是求和的值,k是整型,double j是双精度浮点型。
    • 数据处理:表达式:sum+=j/i; double x=i; i=j; j=j+x; 流程结构:for循环流程结构。
    1.1.3:PTA提交列表及说明

    • Q1:一开始不知道怎么表示分子,分母。
      A1:经过反复尝试,将分子,分母定义为两个变量。
    • Q2:对浮点数表示不清楚。
      A1:通过书本知识和网上知识将浮点数理解清楚。

    1.2

    1.2.1:编写程序,据说汪星人的智商能达到人类 4 岁儿童的水平,更有些聪明汪会做加法计算。比如你在地上放两堆小球,分别有 1 只球和 2 只球,聪明汪就会用“汪!汪!汪!”表示 1 加 2 的结果是 3。本题要求你为电子宠物汪做一个模拟程序,根据电子眼识别出的两堆小球的个数,计算出和,并且用汪星人的叫声给出答案。

    1.2.2::介绍实现本题过程中,你的数据表达、数据处理是怎么做的。
    • 数据表达:用了i,sum,A,B变量,i是赋的初始值,sum是求和的值,A,B是整型。
    • 表达式:sum=A+B;if(A<=9&&A>=1&&B<=9&&B>=1)。流程结构:for循环流程结构。
    1.2.3:PTA提交列表及说明

    • Q1:题目完全无从下手,不知道怎么表示。
      A1:通过进行for循环流程结构。
    • Q2:对输出结果三个“Wang!”表示不了。
      A1:对变量进行定义。

    1.3

    1.3.1:编写程序,如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。

    1.3.2::介绍实现本题过程中,你的数据表达、数据处理是怎么做的。
    • 数据表达:用了a,b,c变量,a,b,c是整型。
    • 表达式: b=a+2;c=b%7;c=a+2。流程结构:if判断流程结构。
    1.3.3:PTA提交列表及说明

    • Q1:对判断结构认识不清楚。
      A1:从书上的例题了解判断结构,进行代码。
    • Q2:对星期的范围没有定义。
      A2:进行了1—7的范围定义。

    二:阅读代码

    #include<iostream>
    #include<cstdio>
    #include<vector>
    #include<queue>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    #define N 100005
    #define ll long long
    #define pi acos(-1.0)
     
    int a[N],b[N];
     
    int main()
    {
     
        int n,m,ans;
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            for(int i=1;i<=n;i++) scanf("%d",a+i);
            for(int i=1;i<=m;i++) scanf("%d",b+i);
            sort(a+1,a+n+1);
            sort(b+1,b+m+1);
            ans = 0;
            int ii = 1,jj = 1;
            while(ii<=n&&jj<=m)
            {
                if(a[ii]==b[jj])
                {
                    ii++;
                    jj++;
                    ans++;
                }
                while(ii<=n&&a[ii]<b[jj]) ii++;
                while(jj<=m&&b[jj]<a[ii]) jj++;
            }
            printf("%d\n",ans);
        }
    }
    

    一开始看到这个代码就是懵逼。但是学习不就是迎难而上。以下是我看这个代码的收获。

    • 了解了各种头文件,明白了不止有
      <stdio.h>
    • 明白EOF(end of file)是文件的结束,通常来判断文件的操作是否结束的标志,知道了EOF不是特殊字符,而是定义在头文件<stdio.h>的常量,一般等于-1。
    • 更加深刻的认识了while结构和for结构的相互应用。
    • 初步看到了代码应用和逻辑思维的结合。
    • 对变量进行多次变化有点懵逼,但是也提供了我一个新的思维去理解代码的书写。
    • 变量之间怎样联系,这种大幅度长的代码要多么细心也是我值得考虑的。

    虽然理解这种代码很难,但是其中的好处是不少的,有许多许多的新东西等待着我们去发现,去想知道它是怎样表示的,它的意思是什么。

    三:学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    15h 346 了解代码的输入输出 变量的表示
    25h 541 进行变量计算,了解整型、浮点型 各个结构不清楚
    40h 749 对for结构的运用 对复杂问题的变量提供不全

    3.2 累积代码行和博客字数


    3.3 学习感悟

    本周学习到了for结构,还需要巩固联系,一开始对各种变量的处理总是出问题,不知道变量之间的关系,对表达式的运算错误,代码打的太慢,问题还是太多,以后有空的话,多去看那些比较多的代码,然后通过各种查询去了解这个代码的结构。人生在勤,不索何获。

  • 相关阅读:
    团队绩效评估计划
    Beta阶段项目总结
    Alpha阶段项目总结
    Alpha版总结会议
    快上车项目简介(500字)
    第二阶段团队冲刺站立会议10
    第二阶段团队冲刺站立会议09
    第二阶段团队冲刺站立会议08
    第二阶段团队冲刺站立会议07
    第二阶段团队冲刺站立会议06
  • 原文地址:https://www.cnblogs.com/869869tmz/p/13941497.html
Copyright © 2011-2022 走看看