C语言博客作业04-数组

1.本章学习总结

 1.1思维导图

 1.2本章学习体会及代码量

 1.2.1学习体会

学过数组后觉得 较之前的方法更好的存储数据,有些题对数组的存放上下限和标记问题还是有点不懂。多打多看多思考把,加油,💪

 1.2.2代码累计

2.PTA总分

 2.1三次题集分数截图



 2.2我的总分

285分

3.PTA作业

 3.1题目一

  • 输入在2行中先后给出字符串A和B。两字符串的长度都不超过10^4并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。

 3.1.1算法分析

  • 用strlen数组的长度来做,将先输入进去的字符数组定义为a[i]
  • 再用flag 来标记,将重复的标记为flag=0
  • 然后将后面的剩下 的用if(flag)来输出新的a[i]。
  • 不过如果字符数组的长度 没有定义好就会出现这种情况。最长字符串要删除的在中间和两端,如果a[10000]的话最长字符串无删除。

 3.1.2代码截图

 3.1.3PTA提交列表及说明

后面的次数 都在验证错在哪,最后一次 才知道是最长字符串的问题,要定义成10010.

 3.2PTA题目2

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。

 3.2.1算法分析

  • 用一个二维数组a[10][10]来装输入的数组,再用一个数组b[100]来记录判断记录,再输入数组
  • 接着判断矩阵,第一个嵌套循环中用if (i>j&&a[i][j]!=0)来判断下三角部分是否为零,如果不是的话就用count++来累积标记
  • 后一个语句再用一个if来判断当count==0时就是符合,这时b[k]=1标记的是符合上三角矩阵的而b[k]=0是不符合的,用数组来累计标记符合上三角矩阵
  • 然后根据1还是0 来显示YES或NO

 3.2.2代码截图


 3.2.3PTA提交列表及说明

  • 没有考虑到再用数组一个数组b[k]来装1或0 的数据来累计是否符合上三角的情况,进而来判断YES还是NO,刚开始是想到用flag来标记,但是后面发现行不通因为用flag的话 只能对单个的 二维数组进行判断其是否上三角矩阵,如果要累计多个的话应该用数组来存储1和0的情况,进而判断输出YES或NO。
  • 以下是我最初的方法(错的 😑)

 3.3PTA题目3

 3.3.1算法分析

  • 定义二维数组a[110][19],并用getchar输入每行字符数组a[i]
  • 用嵌套循环 来和if 来筛选并且用count++和flag进行标记,如果并且进行加权求和,将字符变成数字,得到的数字对11取余之后和m 对应,看是否和最后一位字符对应,如果不对应则输出a[i]并标记count++
  • 如果都符合的话则用if语句 判断当count==0时 输出All passed

 3.3.2代码截图


 3.3.3PTA提交列表及说明

  • 一开始 对加权求和是蒙的,不知道怎么算,接着就是对数据的验证还有标记累计不熟练,不知道该怎么用,什么时候用count++,什么时候用flag
  • 经过思考后,发现验证第一个判断语句还有第二个判断语句很关键,还有后面加权求和的时候要将字符转化成数字才能进行对11取余
posted @ 2018-12-08 22:52  El-AIRON  阅读(317)  评论(2编辑  收藏  举报