C语言程序设计作业03:第十周作业
我在这个课程的目标是 | <掌握二维数组的使用> |
这个作业具体哪个方面帮助我实现目标 | <利用二维数组输出矩阵> |
参考文献 | <图灵C语言程序设计,优快云> |
1、PTA实验作业
1.1 找出矩阵中最小值所在的位置
输入格式:
输入两个正整数m和n
再输入mxn的矩阵。
输出格式:
输出这个矩阵和最小值及其所在的位置。
1.1.1 数据处理
流程图演示
数据表达:定义7个整型变量,一个整型的二维数组,m,n用来限制二维数组的大小,d,e表示二维数组中最小值的下标,min用来表示最小值。
1.1.2 实验代码截图
1.1.3 测试数据
输入数据 | 输出数据 |
---|---|
3 2 (1,2,3,4,5,6) | min=a[0][0]=1 |
4 2(3,6,5,4,8,9,1,6) | min=a[3][0]=1 |
1.1.4 提交列表和说明
刚开始的答案错误是循环的嵌套途中有错误,在min与a[0][0]进行大小比较时我写的是min<a[0][0],后来改过来了,途中还发生过一个段错误,是因为我将min=a[0][0]放在了最前面,这个会导致min从刚开始就接受了a[0][0]的赋值,而不是第一次循环后a[0][0]的值,所以我把min=a[0][0]放到后面之后就解决了这个错误,至于运行超时,可能是变量定义得太多,刚开始循环也用得很多。
1.2 最矮的巨人
输入格式:
输入的第1行给出一个正整数n ( 1 ≤ n ≤ 6 ),表示方阵的行列数。随后n行,每行给出n个整数,代表巨人的身高,其间以空格作分隔。
输出格式:
如果找到至少一个“最矮巨人”,输出如下:
(第1个最矮巨人所在行下标,第1个最矮巨人所在列下标)
(第2个最矮巨人所在行下标,第2个最矮巨人所在列下标)
(第n个最矮巨人所在行下标,第n个最矮巨人所在列下标)
如果没有找到“最矮巨人”,输出如下:
NONE
注意:即便输出结果只有一行,也要输出换行符。行列下标均从0开始计数。
1.2.1 数据处理
数据表达
定义n,d,i,k,a[100][100],max=0,m=0,在此代码中用户输入n来限制二维数组的范围,max=0用来与a[i][j]进行比较得出max,d用来计数,m用来判断。
1.2.2 实验代码截图
1.2.3 测试数据
输入数据 | 输出数据 |
---|---|
4,6 (1,7,4,6,4,6,3,6,1,6,1,6,0,7,8,7) | (1,1)(1,3) (2,1)(2,3) |
1.2.4 提交列表说明
此题大部分在Dev-c++上进行测试 所以提交列表没有出现答案错误,但是在Dev c++上进行测试时,刚开始没有想到m不等于0之后要重新给m赋值为0,导致出现了一些错误,此题较为简单,所以测试时错误较少。
2、代码互评
同学的代码
我的代码
同学的代码是通过输入二维数组的行和列来确认二维数组,而我是先定义好一个行为100列为100的二维数组,通过用户输入m,n然后利用循环条件对二维数组的范围进行确定。
同学在定义最小值时 直接用a[min][Min]=a[0][0]而我是直接定义的min=[0][0]。
3、学习总结
3.1学习进度条
周 | 所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 14h | 58 | 进制转换,机器数,位运算 | 进制之间的转换 |
第二周 | 15h | 79 | C语言程序的基本结构 | 暂时没有 |
第三周 | 12h | 105 | 基本数据类型,运算符和表达式 | 无 |
第四周 | 18h | 130 | 选择结构,循环结构 | 循环嵌套过多时容易犯迷糊 |
第五周 | 12h | 210 | 一堆数组 | 将数组的个数设置为一个变量 |
第六周 | 10h | 324 | 二维数组 | 暂时没有 |
3.2 博客字数以及代码的统计
3.3学习内容总结与感悟
3.3.1学习内容总结
3.3.2 学习体会
1、二维数组相对于一维数组来说更为麻烦,但是能储存的数据也更多。
2、在目前看来,循环的嵌套运用得比以前更好,并且流程图的制作个人认为有很大的进步。
3、博客字数相对于上次来说有点下降,但是内容质量更精。