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

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2/
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11449
    这个作业的目标 <更好的认识到自己的短处并改正过来>
    学号 <20209133>

    PTA实验作业

    1.1

    题目内容

    本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和

    截图代码

    1.2

    数据表达:用了变量i,n,sum,i与n一起构成循环
    数据处理:表达式:无。流程结构:用for语句循环

    1.3

    PTA提交列表和说明

    说明
    Q1.符号用的还有错误

    A1.细心一点就好

    2.1

    题目内容

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

    截图代码

    2.2

    数据表达:用了变量i,n,sum,i与n一起构成循环
    数据处理:表达式:无。流程结构:用for语句循环

    2.3

    PTA提交列表和说明

    说明
    Q1.刚开始对这几个字母感到贼乱,有点不知所措的感觉

    A1.这个需要自己仔细审题,多看看理清关系就好了

    3.1

    题目内容

    本题要求编写程序,计算平方根序列√1+√2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。

    截图代码

    3.2

    数据表达:用了变量i,n,sum,g,i与n一起构成循环
    数据处理:表达式:无。流程结构:用for语句循环

    3.3

    PTA提交列表和说明

    说明
    Q1:变量一多就乱了,不晓得怎么操作

    A1:不能自乱阵脚,要有耐心一步一步慢慢的去写

    阅读代码

    include<stdio.h>

    int main()
    {
    int r, c;
    char a[20][20];
    while (scanf("%d %d", &r, &c), r && c)
    {
    getchar();
    int i, j, index = 0;
    for (i = 0; i < r; i++)
    for (j = 0; j < c; j++)
    a[i][j] = getchar();
    getchar();

        int isRow = 1, isOrder = 1, rb = 0, re = c - 1, cb = 0, ce = r - 1;
        while (1)
        {
            if (isRow)
            {
                if (rb > re)
                    break;
    
                if (isOrder)
                {
                    for (i = rb; i <= re; i++)
                        putchar(a[index][i] - 7);
                    index = re;
                    cb++;
                }
                else
                {
                    for (i = re; i >= rb; i--)
                        putchar(a[index][i] - 7);
                    index = rb;
                    ce--;
                }
                isRow = !isRow;
            }
            else
            {
                if (cb > ce)
                    break;
    
                if (isOrder)
                {
                    for (i = cb; i <= ce; i++)
                        putchar(a[i][index] - 7);
                    index = ce;
                    re--;
                }
                else
                {
                    for (i = ce; i >= cb; i--)
                        putchar(a[i][index] - 7);
                    index = cb;
                    rb++;
                }
                isOrder = !isOrder;
                isRow = !isRow;
            }
        }
        putchar('
    ');
    }
    return 0;
    

    }
    这是一个我不敢想象的超长的代码,虽然很难,但仔细看过后还是能够找到许多可以学习的地方,这里面用了if-else语句,该语句可以用于现实分支,是一种选择结构,可以让代码选择执行。还用了我们最近学习的for语句,在这里for语句可以让程序构成循环,实现C语句的重复执行,我们可以了解到for语句常常通过改变某个变量的值来控制循环的执行,并且for语句中的表达式1只执行一次,这些都是我可以去学习去了解的

    学习总结

    1.学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    3/9-3/15 6小时 19 for语句 对这个的使用有点迷茫

    2.累计代码行和博客字数

    时间 博客字数 代码行数
    第三周 798 19

    3.学习感悟
    a. 真的只有自己认真做才能真正的发现自己的问题,多多少少会有一些不够细心地地方,以后要更认真才行。
    b. 学这个专业真的需要耐心,这很重要(亲测),不要因为一次的错误就感到不耐烦,要真正的沉下心来,才能达到你想要的结果。
    c. 要对自己不够了解的地方继续深入的去学习,而不是一种简单的感觉(感觉自己会了,正真写起东西来又无从下手),对于我自己来说,还是基本的概念都不太清楚,导致自己经常出问题,所以我还是要多看看书,只有这样才能正真学好这个东西。

  • 相关阅读:
    TCP 连接断连问题剖析
    libtool: link: you must specify an output file
    socket编程bind浮动ip
    epoll或者kqueue的原理是什么?
    推荐 30 款最好的免费项目管理软件
    QNX开发最完整图文教程(官方文档,非官方翻译)
    Android 4.X系列の界面设计中退出Android程序的代码
    APScheduler 定时任务系统
    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。
    APSchenuler嵌入Django
  • 原文地址:https://www.cnblogs.com/Sam-/p/13938541.html
Copyright © 2011-2022 走看看