C语言博客作业--一二维数组
一、PTA实验作业
题目1:7-1 将数组中的数逆序存放
1. 本题PTA提交列表
2. 设计思路
- 定义长度为10的数组a,个数n
- for i=0 to i<N
- 输入数组a
- for j=N to j>0
- 输出新的数组a,并在每一个数后面输出一个空格
- 输出a【0】
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
倒序输入的语句,循环条件刚开始写的j>=0,根据题目提示修改
题目1:7-4 简化的插入排序
1. 本题PTA提交列表
2. 设计思路
- 定义长度为10的数组a存放已知含有N个数的数列
- 把X赋给a【N】
- j初值为N,递减,如果a【j】>=X,a【j+1】=a【j】,a【j】=X,将右边的数左移直到j=0
- 输出新的长度为N的数组a,并且每一个数后面跟一个空格
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
刚开始我把X赋给了a【0】,从前向后比较大小输出结果比X小的都是3.请教同学后改正
题目1:7-10 杨辉三角
1. 本题PTA提交列表
2. 设计思路
- 定义行数列数长度都为10的数组a,数的个数n
- for i=0 to i<n;for j=0 to j<n 初始化数据a[i][j]=0
- for i=0 to i<n ; for j=0 to j<=i 如果j<1,a[i][j]=1,如果i=0,结束循环,否则每个数据等于该数据上一行数据加上左上方的数据
- for i=0 to i<n; for j=0 to j<=i; 输出长度占4列的数组a
- 每输完一行数据后换行
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
刚开始规律没有找正确,请教同学后改正
二、截图本周题目集的PTA最后排名
三、同学代码结对互评
1.互评同学名称
王洪尉
2.我的代码、互评同学代码截图
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
王洪尉用了一个while语句把输入语句也包含在内,同时考虑了输入的数不等于EOF,考虑的比较全面,效率也比较高。我比较喜欢自己的,我想不了那么多
四、本周学习总结
1.你学会了什么?
1.1 C中如何存储字符串?
- 用字符数组存贮串。本质上,字符串是一种字符型数组,并且这个数组的最后一个单元的值是'\0'
1.2 字符串的结束标志是什么,为什么要结束标志?
- 标志:'\0' 原因:它的ASCII码为0,经常用在字符串末尾,作为字符串的结束标志
1.3 字符串输入有哪几种方法?
- gets()
- for循环,但要用a【】=getchar()结束循环
- while((a【i】=getchar())!='\n')
1.4 数字字符怎么转整数,写个伪代码?
- 遍历数组
- 定义number存放整数,初值为0
- number=number*10+'数字字符'-'0'
1.5 16进制、二进制字符串如何转10进制?写伪代码?
- 遍历数组
- 定义number存放整数,初值为0
- number=number*10+字符-'0'
2.本周的内容,你还不会什么?
- PTA数组第三题,第六题,第七题,第八题
- 课堂派数组复习作业第八题,第10题
3.期中考试小结
3.1 你认为为什么没考好?
学过的知识没有记牢,基础不扎实,选择题等一些基础的题目拿不到分还费了很多时间,写错的题目和不会的题目没有及时几下错误的地方或者要点。以前写过的写对的也没有记住,考试遇到相似的题还是要想半天
3.2 罗列错题。
- 选择题第9题考查逻辑运算符的知识点,题目要求选择值为0的表达式。逻辑运算符&&和||相当于数学概念的交并集,(a1)&&(!b0)的值为1,(a-1)&&!(b+b)&&(c-a)中的c-a的值不等于0所以整体的值为0
- 填空题(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')小写字母或者大写字母,<=手写与在键盘上敲相比,还是会忘记正确的书写方式,习惯性的按照初高中数学的方式写
- 改错题do while取余中while的条件应该为除数不等于0才能继续执行循环,运算符的先后顺序,不同级的运算符在一起要注意括号的位置,循环语句每次循环增加的数不一定是+1
- 编程题第一道编程题要求计算机自己给出一个数卡住了,不知道该怎么表示,卡了半天浪费了时间还没写出来。第二题没有考虑全就写了,一个原因是时间问题,一个原因是基础还是不牢固
3.3 下半学期要怎么调整C的学习?
减少玩的时间,每天至少写两道PTA上的编程题,并且每天写一点博客,不要总是留到周末一起写,端正自己的态度,少让老师批评,老师布置的任务要及时做,定时定量,杂事多放一放