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

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-2/
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11453
    这个作业的目标 熟悉for循环的使用,学习他人的优秀代码,提高自己
    学号 20208988

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

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

    1.1.1实验代码截图

    1.1.2数据处理:

    数据表达:定义了整型变量x,y,浮点型变量i,sum。
    数据处理:使用了表达式sum=sum+y*(1/(3*i-2)和for循环
    

    1.1.3 PTA提交列表及说明

    Q1:一开始没看见需要自己输入测试用例。
    A1:后面注意到了,改正后程序正确。

    1.2 求分数序列前N项和
    题目内容描述:计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。
    1.2.1 实验代码截图

    1.2.2 数据处理

    数据表达:定义了浮点型变量x, y, i, n, b, a。
    数据处理:使用了表达式 b = b + y / x和for循环。
    

    1.2.3 PTA提交列表及说明

    Q1:开始的时候并没有处理好x,y值的递加转换赋值关系,耽误了好多时间。
    A1:多次尝试后,想到了先给定另一个变量赋y的值再赋值给x进而解决了问题。

    1.3求平方根序列前N项和
    题目内容描述:计算平方根序列√1+√2+√3+⋯的前N项之和
    1.3.1 实验代码截图

    1.3.2 数据处理

    数据表达:定义了整型变量x,i,浮点型变量sum。
    数据处理:使用了表达式sum=sum+sqrt(i)和for循环。
    

    1.3.3 PTA提交列表及说明

    Q1:码代码速度慢了,还要练。
    A1:题目难度不算大,一次性过了

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

    class Solution {
    public:
        int minimumOperations(string leaves) {
            int n = leaves.size();
            vector<vector<int>> f(n, vector<int>(3));
            f[0][0] = (leaves[0] == 'y');
            f[0][1] = f[0][2] = f[1][2] = INT_MAX;
            for (int i = 1; i < n; ++i) {
                int isRed = (leaves[i] == 'r');
                int isYellow = (leaves[i] == 'y');
                f[i][0] = f[i - 1][0] + isYellow;
                f[i][1] = min(f[i - 1][0], f[i - 1][1]) + isRed;
                if (i >= 2) {
                    f[i][2] = min(f[i - 1][1], f[i - 1][2]) + isYellow;
                }
            }
            return f[n - 1][2];
        }
    }
    

    代码功能:实现用最少次数的调整将两种颜色的树叶分类调整完毕。
    代码优点:贯穿数学思想,将具体问题数字化,具有极强的逻辑性,
    极大的减少了编译代码出错的可能,而且将for循环和if语句相结合以
    简化代码复杂程度,并以颜色首字母作为标识字符以便识别。

    3.学习总结(15分)
    3.1 学习进度条(5分)

    周/日期 这周所花费的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周 16小时 300行 概括性的了解了本专业 暂无
    第二周 20小时 500行 学会了如何提问 暂无
    第三周 22小时 900行 for循环的使用 暂无
    3.2 累积代码行和博客字数(5分)

    3.3 学习感悟(5分)
    请回顾自己的本周的学习过程,如果你有新的想法或者新的方法,请及时记录下来。
    本周学习了for循环,简化了代码的复杂程度,提高了函数运算效率,体会到了c语言的实际作用。
    c语言的学习,要靠不断的实践积累和自主拓展才能真正学到知识。

  • 相关阅读:
    Notepad++ 6.2.3 发布,开源文本编辑器
    Scrum项目如何获得管理层的支持和合作
    Concurrency Kit 0.2.13 发布,并发工具包
    Orubase:为Windows Phone、Android和iOS平台开发混合本地手机应用程序
    CyaSSL 2.4.6 发布,SSL 加密库
    谷歌移动应用强调设计元素:向极简风格转型
    Bitcoin 0.7.2 发布, 匿名数字货币
    Netty 3.5.11 发布
    LDAP Account Manager 4.0 发布
    Apache Commons Math 3.1 发布
  • 原文地址:https://www.cnblogs.com/junfengyihan/p/13942601.html
Copyright © 2011-2022 走看看