C语言I博客作业03

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/8727
我在这个课程的目标是 熟练代码,并合理使用各种工具
这个作业在那个具体方面帮助我实现目标

在代码的熟练程度方面
参考文献 C语言程序设计II

1.PTA实验作业

1,1第4题:这是一个与数学有关的题目,涉及到分段函数。

1,1,1如图所示

C语言I博客作业03_第1张图片

1.1.2数据处理

数据表达:因为这是一个分段函数,所以使用了判断方程,变量有0和50.

数据处理:首先开始输入,然后使用单精度float,再使用判断语句if,else来判断,过程中使用输入和相关方程,最后输出即可。

C语言I博客作业03_第2张图片

 

Q1:粗心把一些字母打出来,自己没有认真检查 但是觉得自己没有错  就一直在提交。
A1:自己认真再去检查了一篇 发现了第一行和第二行的字母打错了。

Q2:数据类型用错了几次。
A2:自己在书上看了加上老师笔记

Q3:粗心把一些单词打出来,自己检查 但是觉得自己没有错 
A3:自己认真再去检查了, 发现了字母打错了。

1.2 题目2
1.2.1 实验代码截图

C语言I博客作业03_第3张图片

 

1.2.2 数据处理;代入相关方程即可

这是一个数学方程,然后用math,h输入方程,然后输入相关变量,在确定精度类型,在使用判断语句,在在输入框输入相关方程,最后上传即可。

1.3.3 PTA提交列表及说明

Q1.一开始没有注意,把三角形的方程,  两条边之和被我弄成小于等于第三边
A1.后来仔细检查,经过百度搞清楚了

Q2.数据  应用错了 导致编码错误
Q2.,反复对比

1.3 题目3这是一个简单题目
1.3.1 实验代码截图

C语言I博客作业03_第4张图片

1.3.2 数据处理;代入相关方程即可

使用输入方程,再输入相关变量,使用判断语句,输入相关方程即可。

1.3.3 PTA提交列表及说明

C语言I博客作业03_第5张图片

Q1:没有完全理解题目的意思  导致在输入格式的时候错误
A1:认真阅读题目

Q2:数据类型不是很了解  用错了几次。
A2:自己在百度上面查找

2.阅读代码

#include
 
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('\n');
    }
    return 0;
}
参考:1,每一部分都隔开另起一行,看上去简单明了,便于检查错误和观察。
2,命令简单明了,最大程度保证了代码的执行力。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第5周 0h 0 输入程序
第6周 5-6h 96 输入,输出,相关变量,数据处理 有时候一些格式不明白
第7周 8h 254 判断程序,语句函数,精度,数据类型,赋值运算符 有些数学函数的表达式不太明白

 

 

3.2 累积代码行和博客字数

C语言I博客作业03_第6张图片

 

3.3 学习感悟

  学习了这门课程, 还有理论课与实习课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。 

你可能感兴趣的