C语言1博客作业03

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11455
这个作业的目标 做一个学习总结,清楚自己掌握了什么,学习优秀代码
学号 20209053

一.PTA实验作业

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

1.1.1实验代码截图

1.1.2

数据表达:用了整型变量d,f,N,i,双精度浮点型变量sum,item。N是用户输入的值,i的最大值由N决定。item的值根据题目有规律得变化,sum的值通过累积叠加得到。
数据处理:表达式:item=f*1.0/d;sum=sum+item;f=-f;d=d+3.
         流程结构:for循环结构

1.1.3 PTA提交列表及说明

Q1:前面根据自己的理解打的代码,结果运行超时。然后根据书上打代码,输出结果是对的,提交却显示答案错误。
A1:自己研究了好久,不小心在scanf("%d",&N)前加了个N=10,就对了。

1.2求分数序列前N项和

1.2.1实验代码截图

1.2.2

数据表达:用了变量N,z,m,sum,item。z和m的值是根据题目有规律的变化得到的。N是用户输入的值。
           i初始值为1,最大值是由N决定。sum和item初始值和变化值由其他变量所决定。
           zi,mu,N,i,sum,item都是双精度浮点型。
数据处理:表达式:item=z/m;sum=sum+item;z=z+m;m=z-m.
         流程结构:for循环结构
         

1.2.3 PTA提交列表及说明

Q1:除了和第一题一样的问题,还有数据处理的问题。
A1:一直修改自己的代码,把z,m都改成了浮点型

1.3电子汪

1.3.1实验代码截图

1.3.2

数据表达:用到了整型变量A,B,sum,i。A,B的值由用户输入,i的最大值由sum决定,sum的值由A和B决定。 
数据处理:表达式:sum=A+B.
         流程结构:for循环结构

1.3.3PTA提交列表及说明

Q1:不知道怎么让输入的"Wang!"的个数等于sum的数值
A1:直接搜提百度的,for循环结构就行了,太难了

二.阅读代码

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

题目:计算并返回x的平方根,其中x是非负整数。
代码:

public class Solution {

    public int mySqrt(int x) {
        long left = 0;
        long right = x / 2 + 1;
        while (left < right) {
            long mid = left + (right - left + 1) / 2;
            long mid = (left + right + 1) >>> 1;
            long square = mid * mid;
            if (square > x) {
                right = mid - 1;
            } else {
                left = mid;
            }
        }
        
        return (int) left;
    }

}


刚看的时候确实很懵逼,后来看了别人的评论,就有了以下的看法。

  • 针对特殊测试用例 ,它把搜索的范围设置成长整型;
  • 为了照顾到 0 把左边界设置为 0 。
  • 为了照顾到 1 把右边界设置为 x/2 + 1 。
  • while语句后选了右中位数,是为了防止代码会进入死循环。
    我们打代码也要考虑到各种可能导致运行错误的原因,然后想出对应的解决方法。

三.学习总结

3.1学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第三周 两天 203 循环判断结构 不会调试

3.2累计代码行和博客字数

3.3学习感悟

  • 自己真的是一个超级超级菜鸟,一定要多花时间去学
  • 打代码的速度还是比较慢,每天必须打打代码
  • 该记的东西不能忽略
posted @ 2020-11-07 20:03  豪起来了嘛  阅读(149)  评论(6编辑  收藏  举报