C语言博客作业04-数组

1.本章学习总结

 1.1思维导图

1476637-20181208224828695-490136627.png

 1.2本章学习体会及代码量

 1.2.1学习体会

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

 1.2.2代码累计

1476637-20181215160252279-1250435611.png

2.PTA总分

 2.1三次题集分数截图

1476637-20181215160337083-1937650305.png
1476637-20181215160411681-1960486080.png
1476637-20181215160453766-511948418.png

 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]。
    1476637-20181215163439893-416387832.png
  • 不过如果字符数组的长度 没有定义好就会出现这种情况。最长字符串要删除的在中间和两端,如果a[10000]的话最长字符串无删除。

 3.1.2代码截图

1476637-20181215163408339-1786708862.png

 3.1.3PTA提交列表及说明

1476637-20181215163755779-669580151.png

后面的次数 都在验证错在哪,最后一次 才知道是最长字符串的问题,要定义成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代码截图

1476637-20181215224300901-74943656.png
1476637-20181215231845026-28870291.png

 3.2.3PTA提交列表及说明

1476637-20181215225350593-1612988033.png

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

     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代码截图

    1476637-20181216012536842-536780988.png
    1476637-20181216012602815-1674089097.png

     3.3.3PTA提交列表及说明

    1476637-20181216012710467-685877125.png
  • 一开始 对加权求和是蒙的,不知道怎么算,接着就是对数据的验证还有标记累计不熟练,不知道该怎么用,什么时候用count++,什么时候用flag
  • 经过思考后,发现验证第一个判断语句还有第二个判断语句很关键,还有后面加权求和的时候要将字符转化成数字才能进行对11取余

转载于:https://www.cnblogs.com/zrjAIRON/p/10089593.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值