首页 理论教育 使用随机函数产生两位数,求整个数组及各行的最大值

使用随机函数产生两位数,求整个数组及各行的最大值

时间:2023-11-25 理论教育 版权反馈
【摘要】:用随机函数产生30个两位正数,保存在5行6列数组中,求出整个数组的最大值与各行的最大值,并输出。当内重循环执行完毕,输出maxrow值,即为第i行的最大值。这时i值增1,如果i小于等于5,则继续寻找下一行的最大值。12)输出整个数组最大值maxall。图5-11 求数组最大值2

使用随机函数产生两位数,求整个数组及各行的最大值

【例5-10】用随机函数产生30个两位正数,保存在5行6列数组中,求出整个数组的最大值与各行的最大值,并输出。

按“三步法”原则分析如下。

978-7-111-49659-5-Chapter05-61.jpg做什么

1)用随机函数产生30个两位正数,保存在5行6列数组中并输出,便于分析结果。

2)求出整个数组的最大值与各行的最大值,并输出。

所以窗体上只需要一个按钮即可实现数据的输入和输出。

978-7-111-49659-5-Chapter05-62.jpg怎么做

默认下标设为1。

分析:

变量maxall保存整个数组的最大值,用变量maxrow保存各行的最大值。整型变量定义默认值为0。

要想找出整个数组最大值,需要用两重循环遍历整个二维数组。外重循环用来控制行的变化,循环控制变量i的有效变化范围为1~5。

对于外重循环的循环体,具体到某一遍循环,在其循环体内i值是不变的。外重循环体执行一遍,实际上就是要找第i行的最大值。

在查找第i行的最大值时,首先假定每i行第1个元素(第1列)是最大值,保存到maxrow中,然后从当前行的第2个元素(第2列)开始,分别和maxrow进行比较,如果该元素比maxrow大,则用该元素的值替换maxrow。当内重循环执行完毕,输出maxrow值,即为第i行的最大值。然后比较maxrow是否大于maxall,如果maxrow大于maxall,则把maxrow赋值给maxall。这时i值增1,如果i小于等于5,则继续寻找下一行的最大值。

步骤描述如下。

1)用两重循环产生30个两位正数保存到数组a(5,6)中,并输出。

2)初始化i值为1,用来控制行。

3)判断i,如果i<=5,则向下执行,否则执行第12)步。

4)初始化maxrow为第i行的第一个元素。

5)初始化j为2。

6)判断j,如果j小于等于6,则向下执行,否则执行第9)步。(www.xing528.com)

7)比较第j列元素和maxrow,如果第j列元素大于maxrow,则用第j列元素替换maxrow。

8)j值增1,返回第6)步。

9)输出第i行的最大值maxrow。

10)比较maxrow和maxall,如果maxrow大于maxall,则用maxrow替换maxall。

11)i值增1,返回第3)步。

12)输出整个数组最大值maxall。

978-7-111-49659-5-Chapter05-63.jpg实现

完整代码如下。

978-7-111-49659-5-Chapter05-64.jpg

运行结果如图5-10所示。

978-7-111-49659-5-Chapter05-65.jpg

图5-10 求数组最大值1

如果要求输出最大值及最大值所在的行号和列号,那么对于整个数组的最大值,需要两个变量,一个用来保存最大值的行号,另一个用来保存最大值的列号;而对于各行最大值,只需要一个用来保存列号的变量即可。

修改后完整代码如下。

978-7-111-49659-5-Chapter05-66.jpg

978-7-111-49659-5-Chapter05-67.jpg

运行结果如图5-11所示。

978-7-111-49659-5-Chapter05-68.jpg

图5-11 求数组最大值2

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈