C语言博客作业04——数组
1.本章学习总结
1.1思维导图
1.2本章学习体会及代码量
1.2.1学习体会
这几周学习了数组,数组分为三大块:一维数组、二维数组和字符数组。数组相对于之前普通变量的好处就是可以储存数值,方便数据的二次运用。但是对于数组,我做起来就是处于一种:道理我都懂,逻辑也自我感觉没毛病,但是总有这样那样的小毛病,导致PTA中的题目过不了。做题的时候,要么是有思路,但不全对,要么就是一点头绪也没有,大多数的题目都是老师上课讲完之后照着老师写的样例照抄的。以至于我对做题开始产生了一种怠惰感与抗拒感,再加上最近线性代数考试就更没有心情做题,这点我要自我反省。现在线性代数考试结束了,我得把心收回来了,接下来好好做题,赶走消极学习心态,加油!
1.2.2代码累计
PTA总分
2.1截图PTA三次题目集:一维数组、二维数组和字符数组共3次题目集的排名得分
一维数组
二维数组
字符数组
2.2我的总分
一维数组:175
二维数组:105
字符数组:110
总分:390
3.PTA实验作业
3.1 PTA题目1
简化的插入排序
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
3.1.1 算法分析
定义数组长度N、插入数字X、数组a[11]
定义一个临时变量temp,令其等于N
for i=0 to N-1 do //记下要插入的数字所在的位置
if X < a[i] then
temp=i
break
end if
end for
for i=N to i=temp do //倒着将X后的数后移
a[i]=a[i-1]
end for
将X的值赋给a[temp]
for i=0 to N do
输出a[i]
end for
3.1.2 代码截图
3.1.3 PTA提交列表及说明
Q:出现的部分正确,那部分错在哪里?
A:上机考试的时候,我做到的这道题,跟我一开始做的时候一样,最大N,插在尾和N为1,插在尾,两种情况一直出现错误。考试的时候也一直没有解决。一直不知道问题出在哪。回来之后对比了我最开始的错误代码和正确代码,发现我一开始是因为没有对temp进行赋初值,将N赋给temp之后,就过了,然而考试的时候写的代码是将0赋给了temp,答案部分正确,将考试代码的0改为N,结果就对了。但是我没弄明白这两种不同复制的差别在哪,就先将题目写入博客园,若之后弄懂了,也可以回头补充。
3.2 PTA题目2
切分表达式——写个tokenizer吧
四则运算表达式由运算数(必定包含数字,可能包含正或负符号、小数点)、运算符(包括+、-、*、/)以及小括号((和))组成,每个运算数、运算符和括号都是一个token(标记)。现在,对于给定的一个四则运算表达式,请把她的每个token切分出来。题目保证给定的表达式是正确的,不需要做有效性检查。
3.2.1 算法分析
定义一个字符数组expr[40],存放表达式,定义整型变量i
输入 表达式
if expr[i]=='-'||expr[i]=='+' then //正负号在初始位置
输出 expr[i]
i++
end if
while expr[i]!='\0' do
if isdigit(expr[i]) then //判断运算数
if i==0||(i==1&&(expr[0]=='-'||expr[0]=='+')) //正负号在开头
输出 expr[i]
else if isdigit(expr[i-1])||(expr[i-1]=='-'&& !(isdigit(expr[i-2])))||expr[i-1]=='.' //各种情况的运算数
输出 expr[i]
else
输出 换行符加expr[i]
end if
else if expr[i]=='.' //出现小数点
输出 expr[i]
else
输出 换行符加expr[i]
end if
i++
end while
3.2.2 代码截图
3.2.3 PTA提交列表及说明
Q:一开始部分错误的原因
A:一开始的时候,没考虑那么多,漏掉了存在小数和正负号在开头的情况。
Q:为什么选择这题
A:这题其实不难,但是要考虑的方面很多,而且需要一定的逻辑,往往碰到这种题目都会不耐烦做,就想着放博客上提醒自己。
3.3 PTA题目3
二维数组每列排序
一个4×5的整型二维数组,从键盘输入数据,并对该数组的每一列按从小到大的顺序排列后输出。
3.3.1 算法分析
定义整型变量i、j、k、min、temp、index=0、整形数组a[4][5]
for i=0 to 4 do
for i=0 to 5 do
输入 a[i][j]
end for
end for
for j=0 to 5 do
for k=0 to 3 do
index=k
for i=k+1 to 4 do
if a[i][j]<a[index][j] then
index=i
end if
end for
temp=a[index][j]
a[index][j]=a[k][j]
a[k][j]=temp
end for
end for
3.3.2 代码截图
3.3.3 PTA提交列表及说明
Q:这道题的错误分析
A:这道题跟之前的上机考试的一道题很像,当时那道题我一直没想到我错在哪。做这道题的时候 ,我用了跟考试时一样的方法做,一直是答案错误,然后就有认真检查了一遍代码,发现我的思路一直是错的,排序的时候,我只是将每列的数两两比较,这样做根本就不能从小到大排列。写下这题,提醒自己这个思路误区。
4.代码互评
4.1 代码截图
- 同学的代码
- 我的代码
4.2 二者的不同
- 方法上
- 我调用了函数来做
- 该同学直接将代码放入主函数中
- 思路上
- 我定义了一个含有1-100000数值的数组,将不为0的数组相加,若数组数等于输入个数,则没有重复数据
- 该同学的思路是,只要出现一个数组的值为二就输出“YES”并结束程序
C语言博客作业04——数组的更多相关文章
- C语言博客作业04—数组
0.展示PTA总分(0----2) 展示3张关于"数组题目集"分数截图. 1.本章学习总结(2分) 1.1 学习内容总结 整理数组这章学习主要知识点,必须包含内容有: (1)数组查 ...
- C语言博客作业04数组
0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 1.int a[10];为定义数组,表示数组有10个数 2.数组的下标都是从0开始,到n-1结束 3.数组里元素的个数不能大于数组的长度 4 ...
- C语言|博客作业04
这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9768 我在这个课程的 ...
- C语言Ⅰ博客作业04
问题 回答 这个作业属于哪个课程 c语言程序设计ll 这个作业要求在哪里 https://blog.csdn.net/qq_42264638/article/details/102381471 我在这 ...
- c语言Ι博客作业04
这个作业属于哪个课程 c语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9771 我在这个课程的目 ...
- C语言博客作业04
问题|答案 -|:-:|-: 这个作业属于哪个课程|c语言程序设计I 这个作业的要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-4/homewor ...
- C语言博客作业—字符数组
一.PTA实验作业 题目1:字符串转换成十进制整数 1. 本题PTA提交列表 2. 设计思路 (1)定义i为循环变量,number用于存放每一次转化的结果,flag用于判断是否为负数,p用于修改结果的 ...
- C语言博客作业--字符数组
一.PTA实验作业 题目1:统计一行文本的单词个数 1. 本题PTA提交列表 2. 设计思路 Begin 定义字符型变量ch,pre=' ': 定义整型变量count://用来记录单词个数 count ...
- C语言博客作业字符数组
一.PTA实验作业 7-12 IP地址转换 本题PTA提交列表 设计思路 3.代码截图 7-7删除字符串中的子串 本题PTA提交列表 设计思路 定义字符型数组s[81]储存主串,sub[81]储存子串 ...
随机推荐
- 2018-2019-2 20165215《网络对抗技术》Exp5 MSF基础应用
目录 实验内容 实验原理 实验步骤 (一)一个主动攻击实践 ms08_067(成功) (二)一个针对浏览器的攻击 ms14_064(成功) (三)一个针对客户端的攻击 Adobe(成功) CVE-20 ...
- 高校表白APP-冲刺第二天
今天进行了第二次会议. 一.任务: 昨日任务完成基本登录注册修改页面布局. 今日任务完成登录界面的基本框架. 明日任务登录修改注册跳转,解决真机运行闪退. 二.遇到的困难: 登录界面按钮布局位置,输入 ...
- spring boot+spring data jpa+gradle+mysql配置问题
1.gradle/wrapper/gradle-wrapper里要设置正确本地的gradle目录(我用的是4) 2.在src目录里的application.properties文件里,可以这样设置 # ...
- Sublime报错
Sublime出现 unable to read project的错误对话框 每次重新开启都会弹出对话框 解决办法: 1.关闭Sublime 2.C:\Users\Administrator\AppD ...
- php 把数组保存为标准的数组格式,存储到文件中
<?php $file='./test.php'; $array=array('color'=> array('blue','red','green'),'size'=> array ...
- Excel 如何判断某列哪些单元格包含某些字符
“条件格式”,公式: =IF(COUNTIF($A2,,,) 然后根据需要设置格式
- 翻译 | Placing Search in Context The Concept Revisited
翻译 | Placing Search in Context The Concept Revisited 原文 摘要 [1] Keyword-based search engines are in w ...
- [C++ Primer Plus] 第9章、内存模型和名称空间(二)课后习题
一.复习题 2.using声明和using编译指令的区别 using声明: using std::cin; using std::cout; using std::endl; using编译指令:us ...
- blogger添加代码高亮
blogger(blogspot)自带的是没有代码高亮的,我们可以用下面的方法添加代码高亮. 首先我们打开blogger(blogspot)后台,然后点击主题背景-->修改html,然后在弹出的 ...
- USACO比赛题泛刷
随时可能弃坑. 因为不知道最近要刷啥所以就决定刷下usaco. 优先级排在学习新算法和打比赛之后. 仅有一句话题解.难一点的可能有代码. 优先级是Gold>Silver.Platinum刷不动. ...