C语言博客作业4--数组
C语言博客作业4--数组
1.本章学习总结
1.1思维导图
请以思维导图总结本周的学习内容,如下图所示:

1.2本章学习体会及代码量学习体会
1.2.1学习体会
描述本周学习感受,也可以在这里提出你不理解地方,对教师教学建议等。
这周学习的数组,在上课的时候能听得懂,但下来做题的时候还是不会做题,思路也不是很清晰,而且觉得老师上课得有点快,布置的作业也相对有点多。此外,感觉在做题的时候,总会出现buggy,想了很久才找出。也有过自我反思,课后要复习上课老师讲的内容,但我发现根本不可能(哭笑),感觉每天都很充实,根本没有多少闲暇时间。
1.2.2代码累计
在excel中画如下表格,保存好,复制到博客随笔。注意要累计所有代码量。

2.PTA总分(2分)
2.1截图PTA三次题目集:一维数组,二维数组和字符数组共三次题目集的排名得分
贴图展示。



2.2我的总分:215分
填写三次题目集的总得分。
<span style ="color:red">注意,请把PTA代码展示给批阅助教,并能完整回答助教问题,才能得满分。否则根据回答情况给分。</span>
3.PTA实验作业(6分)
在一维数组,二维数组和字符数组每个题目集中选1题你觉得完成难度最大题目介绍,每题2分,做如下内容:
3.1PTA题目1
简要介绍题目,如:
7-6 数组循环左移 (20 分)
本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a
0
a
1
⋯a
n−1
)变换为(a
m
⋯a
n−1
a
0
a
1
⋯a
m−1
)(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
3.1.1算法分析
以伪代码方式描述算法思路。伪代码注意文字+C语法方式描述,不要纯C代码或者C代码直接翻译,能做到看了伪代码就知道你的思路是如何。
for(j=1;j<=m;j++) //循环移动次数
for(i=0;i<n-1;i++)
{
a[i]=a[i+1]; //往左移
}
a[n-1]=temp;
for(i=1;i<n;i++)
{
printf(" %d",a[i]); //控制多余的空格
}
3.1.2代码截图
贴图展示代码,不要复制,如

3.1.3PTA提交列表及说明
根据提交列表,简要描述下调试程序碰到的问题及解决办法。

Q1:出现格式错误。
A1:拿到编译器上去运行,输出的格式有问题,没有控制好空格。
Q2:提交提示编译错误。
A2:调试,发现是循环次数有问题。
3.2PTA题目2
简要介绍题目,如:
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。
3.2.1算法分析
以伪代码方式描述算法思路。伪代码注意文字+C语法方式描述,不要纯C代码或者C代码直接翻译,能做到看了伪代码就知道你的思路是如何。
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++) //用两个for循环控制每行每列的数
{
if(a[i][j]<a[i][j+1]) //比较相邻数的大小找出该行的最大值所在的列
k=j+1;
for(t=0;t<n-1;t++)
{
if(a[t][k]<a[t+1][k])
{
p=t; //找出该列行中的最小数
if(k!=-1&&p!=-1) //判断是否存在鞍点
3.2.2代码截图
贴图展示代码,不要复制,如


3.2.3PTA提交列表及说明
根据提交列表,简要描述下调试程序碰到的问题及解决办法。

Q1:输出的列标是错误的
A1:调试后发现问题
Q2:在DEV上的结果是对的,但在PTA在提交有测试点过不去。
A2:问同学,找同学帮忙看代码。
3.3PTA题目3
简要介绍题目,如:
7-6 A-B (20 分)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。
3.3.1算法分析
以伪代码方式描述算法思路。伪代码注意文字+C语法方式描述,不要纯C代码或者C代码直接翻译,能做到看了伪代码就知道你的思路是如何。
char A[10000],B[10000]; //定义两个字符数组
i=0;
while((A[i]=getchar())!='\n')
i++;
A[i]='\0'; //输入字符串
j=0;
while((B[j]=getchar())!='\n')
j++;
B[j]='\0';
if(flag[i]==1) //判断是否有字符重复。
3.3.2代码截图
贴图展示代码,不要复制,如


3.3.3PTA提交列表及说明
根据提交列表,简要描述下调试程序碰到的问题及解决办法。

Q1:编译运行的结果和输入的字符串相同。
A1:自己找不出错误的地方,问同学。
Q2:出现段错误。
A2:数组要开大点。
4. 代码互评
从同学中找一篇优秀代码,和自己的代码比较下,说明下自己和同学代码区别,各自优势是什么?
4.1 代码截图
同学代码截图。


自己的代码截图。


4.2 二者的不同
1,2,3方式罗列2份代码相同及不同地方。建议互评代码尽量找代码风格差异较大。
不同点
(1)她先找列最小,我先找行最大。
(2)她找到列最小及行最大是,都是用两个变量表示,我是分别用一个变量表示。
(3)她给最值列标取的名字很清晰。
相同点
(1) 都是用for循环来做。
(2)都定义变量的值最后判断是否满足条件。
C语言博客作业4--数组的更多相关文章
- C语言博客作业04——数组
1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量 1.2.1学习体会 这几周学习了数组,数组分为三大块:一维数组.二维数组和字符数组.数组相对于之前普通变量的好处就是可以储存数值,方便数据 ...
- 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]储存子串 ...
- C语言博客作业--字符数组-陈张鑫
一.PTA实验作业(4分) 题目1:7-5 查验身份证 1. 本题PTA提交列表(要提交列表,不是结果) 2. 设计思路(伪代码或流程图) 定义变量身份证个数n,合法个数count=0,flag=0, ...
- C语言博客作业04—数组
0.展示PTA总分(0----2) 展示3张关于"数组题目集"分数截图. 1.本章学习总结(2分) 1.1 学习内容总结 整理数组这章学习主要知识点,必须包含内容有: (1)数组查 ...
- C语言博客作业4——数组
0.展示PTA总分 一维数组 二维数组 字符数组 1.本章学习总结 1.1学习内容总结 一维数组知识点: 无论是对一维数组还是二维数组进行应用时,我们对其下标的应用十分广泛. 1:一维数组的输入和遍历 ...
- C语言博客作业04数组
0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 1.int a[10];为定义数组,表示数组有10个数 2.数组的下标都是从0开始,到n-1结束 3.数组里元素的个数不能大于数组的长度 4 ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言博客作业5--指针
C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...
随机推荐
- FileUrl
package com.rscode.credits.util; import java.io.BufferedReader; import java.io.File; import java.io. ...
- 阿里云ECS Centos7 系统安装图形化桌面
阿里云官网默认的Linux Centos7系统镜像,都是没有安装桌面环境的,用户如果要使用桌面,需要自己在服务器上进行安装. 本教程以MATE桌面安装为例 1.登录服务器,执行命令安装桌面环境. 先安 ...
- Python3常用函数、方法总结(持续更新…)
最近刷LeetCode,自己自娱自乐完之后去discussion看大佬们的各种巧妙解法,总是止不住的双击666--加上最近Python3用的比较多(虽然Python实在不推荐跑算法题目,一是运行效率太 ...
- 使用CNN生成图像先验,实现更广泛场景的盲图像去模糊
现有的最优方法在文本.人脸以及低光照图像上的盲图像去模糊效果并不佳,主要受限于图像先验的手工设计属性.本文研究者将图像先验表示为二值分类器,训练 CNN 来分类模糊和清晰图像.实验表明,该图像先验比目 ...
- 20164318 毛瀚逸 Exp3 免杀原理与实践
1实验要求 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1 ...
- 软件开发者路线图梗概&书摘chapter3
漫漫长路:自定路线,想象十年后 1.技重于艺:重视客户的交付价值 客户的解决方案与个人内在标准的平衡 2.持续动力:金钱.乐趣.名声 列出五项最重要的动力 3.培养激情:博客.钻研名著.加入学习小组. ...
- node中的事件发射器
在事件环中node通过on和emit进行事件的接收和发射,笔者以简单的窗口聊天小demo来演示一下如何通过事件环来发射和监听事件并执行回掉: var events=require('events') ...
- Linux第八节课学习笔记
su命令可以切换用户身份,一般不用,而是用sudo. visudo命令中可执行命令列表不用ALL,我们可以先使用whereis命令找出命令所对应的保存路径,然后把配置文件第99行的用户权限参数修改成对 ...
- Hot Chocolate 一个.net 平台的graphql 框架
在看昨天发布的新版技术雷达中,看到了一个.net 的graphql 框架Hot Chocolate 还是比较激动,尽管好久不搞 .net 了,但是这个框架还是值得看看的,后边学习下 参考资料 http ...
- create-react-app源码解读之为什么不搞个山寨版的create-react-app呢?
最近把 vue-cli@2.x 和 create-react-app 的源码都看了一遍.由于现在官方推荐使用 vue-cli@3.0 ,改动比较大,所以就不写关于 vue-cli 的了(据说是因为 v ...