14周作业
要求二
7-3 求矩阵的局部极大值
1.实验代码
#include<stdio.h> int main(){ int i,j,m,n,k=0; scanf("%d %d",&m,&n); int s[m][n]; for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&s[i][j]); } }for(i=0;i<m;i++){ for(j=1;j<=n;j++){ if(i-1>=0&&j-1>=0&&i+1<=m-1&&j+1<=n-1){ if(s[i][j]>s[i-1][j]&&s[i][j]>s[i+1][j]&&s[i][j]>s[i][j-1]&&s[i][j]>s[i][j+1]){ printf("%d %d %d\n",s[i][j],i+1,j+1); k=1; } } } } if(k==0){ printf("None %d %d",m,n); }return 0; }
2 设计思路
首先根据题目定义所需要的变量,不够的话后来在添加,然后将k初始化(后来的输出的控制),输入m,n的值并根据m,n的值创建数组,利用镶嵌循环给数组赋值,再利用镶嵌循环将输入的值挨个进行判断,根据判断条件判断是否输出,是的话输出并给k赋予1的值
,最后再判断k的值来判定最后是否输出最后的输出;
(2)
3.本题调试过程碰到问题及解决办法
遇到最后的测试点的错误
解决方法:将从1开始递增的i和j改为从0开始递增,然后调整一下就对了
要求三
地址:https://git.coding.net/z1203239793/test.git
要求四
个人总结
(1)数组,二维数组的定义以及使用,学会了储存多个值并次序输出
(2)可变数组看不懂啊啊啊!
要求五
2