C语言程序设计作业03:第十周作业

这篇博客详细介绍了C语言完成PTA实验作业的过程,包括找出矩阵中最小值及其位置的算法实现,以及解决最矮巨人问题的思路。作者通过数据处理、代码截图、测试数据和提交列表说明,展示了算法的实现过程,并在代码互评环节对比了自己与同学的不同实现方式。最后进行了学习总结,强调了二维数组操作和循环嵌套的掌握情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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学习进度条

所花时间代码行学到的知识点简介目前比较迷惑的问题
第一周14h58进制转换,机器数,位运算进制之间的转换
第二周15h79C语言程序的基本结构暂时没有
第三周12h105基本数据类型,运算符和表达式
第四周18h130选择结构,循环结构循环嵌套过多时容易犯迷糊
第五周12h210一堆数组将数组的个数设置为一个变量
第六周10h324二维数组暂时没有

3.2 博客字数以及代码的统计

在这里插入图片描述

3.3学习内容总结与感悟

3.3.1学习内容总结

在这里插入图片描述

3.3.2 学习体会

1、二维数组相对于一维数组来说更为麻烦,但是能储存的数据也更多。

2、在目前看来,循环的嵌套运用得比以前更好,并且流程图的制作个人认为有很大的进步。

3、博客字数相对于上次来说有点下降,但是内容质量更精。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值