C语言博客作业--一二维数组

一、PTA实验作业

题目1:7-1 将数组中的数逆序存放

1. 本题PTA提交列表

1234177-20171203144532913-2118110893.png

2. 设计思路

  • 1.定义a数组用于存放数值,定义b数组用于逆序排列,定义变量n,i,j
  • 2.for(i=0;i<=n-1;i++)在a数组中输入值
  • 3.for(j=0;j<=n-2;j++)将a中数逆序放入b中
  • 4.输出b数组

    3.代码截图

    1234177-20171203150349444-2012415730.png

    4.本题调试过程碰到问题及PTA提交列表情况说明。

    1234177-20171203150626054-2062070196.png
    格式错误:最后一个没有空格部分正确:最开始的时候i的输出范围写错以至于少了一个数。

    题目2:7-4 简化的插入排序

    1. 本题PTA提交列表

    1234177-20171203151151476-1946542159.png

    2. 设计思路

  • 1.定义数组a,定义变量N,X,y,c为判断变量
  • 2.将数存放a中
  • 3.若N为0,直接输出X
  • 4.N不为0,进入循环从右开始与X一次比较 ,当X<a[j]时a[j+1]=a[j],即为让之前的元素右移
  • 5.否则a[j+1]=X并使y=1
  • 6.y=0,即X比数列最小值还小,a[0]=X;
  • 7.定义变量c输出a[c]

    3.代码截图

    1234177-20171203153247319-1065933398.png

    4.本题调试过程碰到问题及PTA提交列表情况说明。

    1234177-20171203154019257-1976379398.png
    没有N为0时的直接输出,没有X最小时的输出。

    题目3:7-7 找鞍点

    1. 本题PTA提交列表

    1234177-20171203154243851-83105052.png

    2. 设计思路

  • 1.定义变量n,定义一个二维数组a[80][80],
  • 2.将数存放于二维数组a中
  • 3.当该数组仅有一个元素时,直接输出0 0
  • 4.否则,定义max,以及一个一维数组b,
  • 5.利用循环找出每一行最大的数,并存放于b中
  • 6.定义min,以及一个一维数组c,
  • 7.利用循环找出每一列最小的数,并存放于c中
  • 8.定义变量t用于判断,将b和c数组中对应的元素比较,若相等则输出下标并t=1
  • 9.否则若t=0则输出NONE

    3.代码截图

    1234177-20171203160032866-1491626821.png
    1234177-20171203161126710-2003068683.png

    4.本题调试过程碰到问题及PTA提交列表情况说明。

    最开始的答案错误,是由于循环中判断的情况没有“=”以至于少一个数,后来由于没有加判断n=1的情况,没有输出0 0

    二、截图本周题目集的PTA最后排名。

    1234177-20171203171237757-187434481.png

    三、同学代码结对互评

    1.互评同学名称:陆勇治

    2.我的代码、互评同学代码截图

    1234177-20171203171658976-145720969.png
    1234177-20171203171708101-1007095694.png

    3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

    他用嵌套循环直接在循环内进行比较并输出,而我的则是利用一个循环在循环内做出了分支判断,他的代码简单但是不是太容易看懂,我的比较长但是容易看懂,更喜欢容易看懂的风格。

    四、本周学习总结

    1.你学会了什么?

    1.1 C中如何存储字符串?

    字符串可以放在一维字符数组中,还可以使用字符串常量

    1.2 字符串的结束标志是什么,为什么要结束标志?

    结束标志是\0,使用结束标志来控制循环结束

    1.3 字符串输入有哪几种方法?

    赋值法,循环输入

    1.4 数字字符怎么转整数,写个伪代码?

  • 1.定义变量i,numberstr[10]
  • 2.输入字符串,
  • 3.利用循环,number=number*10+str[i]-'0'分别转化
  • 4.输出整数

    1.5 16进制、二进制字符串如何转10进制?写伪代码?

  • 1.定义变量number放数字符串用a存放
  • 2.若字符0<a<9,number=number16+a[i]-'0'
  • 3..若字符A<a<Z,number=number16+a[i]-'A'+10
  • 4.若字符a<a<z,number=number*16+a[i]-'a'+10
  • 5.输出number

    2.本周的内容,你还不会什么?

    遇到空格回车的输入输出,二维数组不太熟悉,二维数组的下标有时混乱,几种排序法不太会

    3.期中考试小结

    3.1 你认为为什么没考好?

    基础差,能力弱,对于一些基本概念不知道,读程序的能力差

    3.2 罗列错题。

    1234177-20171203175709429-1874952418.jpg
    1234177-20171203180224444-1292370578.jpg
    1234177-20171203180435819-373467882.jpg
    1234177-20171203180918101-1759860755.jpg

    3.3 下半学期要怎么调整C的学习?

    首先要有耐心,其次要有一个端正的态度,c不只是编程还有一些基础的知识点要记牢,不能不重视课本上的基础知识,否则就如本次考试一样,选择题错的一堆,另外在平常编程的时候也要注意错误的积累以及个人常犯错误的纠正。

转载于:https://www.cnblogs.com/cuizhibin/p/7966737.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值