C语言博客作业04--数组

1.本章学习总结

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

  • 数组这一部分的学习难度有所提升,并不同前面的学习一样可以慢慢地学,因为没有接触过数组对数组的一些用法并不熟悉,在写题的时候即使有思路每次写都会出现许多的错误,而且数组多用循环,调试的话比较复杂,有时候一个题目要调试很久,一部分一部分地进行,有的题目可能就是当天怎么写就是不对,过几天比较不急躁再认真看看就能自己看出问题了,有时也可以找其他同学看看,但自身的能力还需提高。
  • 这几周的代码量有点少,遇到线性代数期末考,下一周要增加写代码的时间,希望每天晚上晚自习结束给自己一个小时以上打代码时间。

1.2.2 代码累计

2.PTA总分

2.1截图PTA三次题目集:一维数组、二维数组和字符数组共3次题目集的排名得分



2.2 我的总分:

455

3.PTA实验作业

3.1 PTA题目1

7-8 找出不是两个数组共有的元素 (20 分)

给定两个整型数组,本题要求找出不是两者共有的元素。
输入格式:
输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。
输出格式:
在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。

3.1.1 算法分析

3.1.2 代码截图


3.1.3 PTA提交列表及说明


Q:怎么出现段错误
A:在循环的时候出错,把想写j写成i,调试了很久都没发现,简直了
Q:部分正确又是什么情况
A:在区分该不该标1的时候漏了=号,使一个元素既不属于第一组,又不属于第二组的,答案自然就错啦

3.2 PTA题目2

7-8 加法口诀表 (10 分)
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入 1 个正整数 n(1≤n≤10), 输出一张 20 以内的加法口诀表. 加数与被加数都不大于 n, 分列第一行和第一列
(将加数、被加数、和放入一个二维数组中, 再输出该数组)

3.2.1 算法分析

通过观察得知第一行第一列的数皆属于行数,故
for i=1 to i<=n
number[0][i]=i;
number[i][0]=i;
end for	
通过观察得知中间的数皆属于行数与列数之和,故
for i=1 to i<=n
    forj=1 to j<=n
	    number[i][j]=i+j;
    end for
end for
最后输出
除第一行外,元素的个数与行数相等

3.2.2 代码截图


3.2.3 PTA提交列表及说明


Q:为什么会有部分正确的情况
A:定义的数组大小太小了,刚开始只给了100,不符合题目给出的要求

3.3 PTA题目3

7-6 A-B (20 分)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。

3.3.1 算法分析

用gets()函数分别输入字符串A和B
用for循环找出A和B共有的元素标1
for i=0 to seriesA[i]!='\0'
    flag=0;//重置
        for j=0 to seriesB[j]!='\0'
           if seriesA[i]==seriesB[j] then//查找重复的标1 
	    flag=1;
    	    break;
            end if
         end for
end for
挑出不标1的元素,整合到一起
if flag==0 then
          series[k++]=seriesA[i];
end if
for i=0 to i<k
     输出
end for

3.3.2 代码

3.3.3 PTA提交列表及说明


Q:为什么一直格式错误
A:在控制输出的时候前几个用%-4d输出,而最后一个%d输出
自己在控制输出格式时没有注意到第一行,而一直格式错误

4.代码互评

4.1 代码截图

同学代码截图

自己的代码截图

4.2 二者的不同

  • 1.输出的方式不一样,因为同学有以'\0'作为结尾,所以可以直接用%s输出
    然而我并没有以'\0'作为结尾,所以我要找出一共要有几个输出,较为麻
    烦容易出错
  • 2.同学先进行字符的排序,相同的字符就在旁边就可以不需要循环就可以找出重复的字符
    但有一定的局限性,如果有多个重复就不好办了
    而我进行多次的循环,比较费时
posted @ 2018-12-08 22:42  曦子1762  Views(890)  Comments(0Edit  收藏  举报