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. 要对自己不够了解的地方继续深入的去学习,而不是一种简单的感觉(感觉自己会了,正真写起东西来又无从下手),对于我自己来说,还是基本的概念都不太清楚,导致自己经常出问题,所以我还是要多看看书,只有这样才能正真学好这个东西。

原文地址:https://www.cnblogs.com/Sam-/p/13938541.html