C语言程序设计博客作业03

这个作业要求在哪里 http://t.csdn.cn/ULQVf
我在这个课程的目标是 可以熟练掌握一些常见的字符串处理的函数 ,正确使用并读懂数组
这个作业在那个具体方面帮助我实现目标 理解数组变量在内存中的存放形式,数组元素的引用,二维数组的理解,字符串与字符数组的区别
参考文献 《C语言程序设计教程(第3版)》、百度

1.PTA实验作业

1.1找出矩阵中最小值所在的位置

将1个m x n的矩阵存入1个m x n的二维数组中,找出最小值以及它的行下标和列下标,并输出该矩阵。

1.1.1数据处理

1.数据表达
定义了m,n两个整型变量来表示行列长度,定义i,j两个整型变量为循环控制变量,定义mini,minj两个整型表示最小值在矩阵中所处的行列位置下标,用for循环结构进行矩阵行列的循环,镶嵌if选择结构来判断最小值。
2.数据处理

C语言程序设计博客作业03_第1张图片

1.1.2实验代码截图

C语言程序设计博客作业03_第2张图片
C语言程序设计博客作业03_第3张图片

1.1.3造测试数据
输入数据 输出数据
3 2 5 6
5 6 9 7
9 7 3 8
3 8 min = a[2][0] = 3
2 3 9 5 6
5 6 9 7 3 8
7 3 8 min = a[1][1] = 3
3 3 5 6 7
5 6 7 9 3 2
9 3 2 1 4 8
1 4 8 min = a[2][0] = 1
1.1.4PTA提交列表及说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

提交列表说明:
1.编译错误:输出函数结束忘记分号,大括号匹配不正确,仔细对比后改正
2.答案错误:输出格式错误,最小值的行下标、列下标输出格式没注意规范,查阅《C语言程序设计1》改正
3.答案错误:输出格式错误,矩阵未成形,查阅百度后改正
4.答案错误:在行列循环输出时的空格换行符间断了行列的输出位置,经请教朋友后调整改正规范

1.2 短号

在某年的校程序设计竞赛中,报名参赛的同学很多都只留了短号,这让通知获奖同学来取获奖证书的H老师很是困扰,因为他没有短号!痛定思痛,H老师也要办短号了。这里约定短号为手机号码的最后六位,但如果取出的最后六位是以0开头的,要改为以9开头。现给出H老师手机号码,请确定他的短号。

1.2.1 数据处理

1.数据表达
定义整型 i 为循环控制变量,整型n表示有几个数据,for循环结构与If选择结构镶嵌,其中scanf函数在输入字符串时要使用%s格式控制符,并且定义了有100个数组元素的char数组t。
2.数据处理

C语言程序设计博客作业03_第4张图片

1.2.2 实验代码截图

C语言程序设计博客作业03_第5张图片

1.2.3 造测试数据
输入数据 输出数据
2 13110023456 923456
13110023456 13111123456 123456
13111123456
2 15200772513 772513
15200772513 15200092513 992513
15200092513
2 18867212596 212596
18867212596 18867202596 202596
18867202596
2 13452698431 698431
13452698431 13452697431 697431
13452697431
1.2.4 PTA提交列表及说明

在这里插入图片描述

在这里插入图片描述

提交列表说明:
1.编译错误:手机号码未定义成字符型,定义为int整型,并且输入函数在输入字符串时未使用%s格式控制符,查阅《C语言程序设计1》后改正
2.答案错误:关于”取出的最后六位以0开头“,数组t的第五位元素t[5]与0比较时未使用关系运算符== ,而是直接使用的等号=,输出的答案出现错误,请教朋友帮忙后改正
3.答案错误:输入 t 时,没有打 “ 取地址运算符 & ",多次浏览代码后改正
4.答案错误:关于“最后六位是以0开头的,要改为以9开头”的0和9,未打上单引号 ’ ‘,导致答案错误,一直没发现,请教朋友后才改正过来

2.代码互评

(1) 同学代码截图

C语言程序设计博客作业03_第6张图片
C语言程序设计博客作业03_第7张图片
C语言程序设计博客作业03_第8张图片

自己代码截图

C语言程序设计博客作业03_第9张图片
C语言程序设计博客作业03_第10张图片
不同点:
1.舒同学和自己关于最小值的行下标、列下标的定义变量不一样,m与n表示的行列相反,唐同学定义的变量也不一样
2.唐同学在输出矩阵的时候是选择在printf里面之间通过空格来空出空间,舒同学在输出矩阵的时候之间统一是%4d,而自己是矩阵每列前将%4,%5d 分开了
3.舒同学没有对最小值的行下标、列下标进行赋初值,自己对其二进行了初始化为0
4.舒同学和自己关于前大括号的排列习惯不同,舒同学代码换行的版面比自己的更加美观和清晰
5.唐同学对于题目补充判断输入的值是否为最小值,是返回1,否返回0,舒同学和自己没有做相关的代码处理

(2)同学代码截图

C语言程序设计博客作业03_第11张图片

自己代码截图

C语言程序设计博客作业03_第12张图片
不同点:
1.舒同学与自己定义关于char数组t的数组长度不一样
2.自己在for循环开始处 判断了输入的数是否为0,而舒同学没有
3.舒同学将短号输出的结果直接输出在for循环里,自己因为判断了输入的数是否为0,导致将短号的输出先放在了if选择结构条件成立的内部

3.学习总结

3.1 学习进度条
周/日期 这周所花的时间 代码行 学到的知识点简历 目前比较困惑的问题
第一周 14h 75 计算机系统组成及工作原理,进位转换,机器数 进位计数制的转换不熟练
第二周 10h 169 基本数据类型,运算符与表达式,基本输入输出 优先级顺序反应较迟钝
第三周 18h 150 选择结构程序设计(if 、switch语句) else容易匹配混乱
第四周 16h 164 循环结构程序设计(while、do-while、for语句),循环嵌套 循环嵌套在编译中没有熟练掌握
第五周 20h 188 一维数组 在使用memset函数、memcpy函数来赋值没有理解
第六周 18h 225 二维数组,字符串与数组 给数组变量赋值,数组综合应用不会
3.2 累积代码行和博客字数

C语言程序设计博客作业03_第13张图片

3.3 学习内容总结和感悟
3.3.1 学习内容总结

C语言程序设计博客作业03_第14张图片

3.3.2 学习体会

1.这周的数组相关学习感觉心态进步一下,仍处于模仿状态,空余时间多刷题,多学习一下优秀的代码
2.设计性代码编译不能够灵活处理,自主分析的能力有待提高,也有在和身边的会做的朋友请教
3.作业工作量挺重的,容易内耗,有主动找一些可以解决问题的途径,和从头开始看一些小白的课程
4.时间很快,已经进入第十一周了,希望早日适应,“现在恐惧是因为无知”
5.对选择/循环结构,数组等规则概念有所印象,但是代码分析和编译程序的缺陷还是很大,执行能力较差

你可能感兴趣的:(c语言,算法,矩阵)