首先我们先通过一组简单的一维数组来学习如何找出最大值
一维数组:
首先我们对一个数组进行定义,并通过scanf与for循环的运用对其的每个值依次输入
通常在比较俩个数或一组数时,我们都要运用到一种极其重要的思想:引入第三个值把俩个数中的较大值存储进来;
此时我们对该数组中的每一组数依次遍历寻找出最大值存储到刚刚定义的num 中;
整个的代码块如下;
int main() { int arr[5] = { 0 };//对该数组进行的范围进行定义; int i = 0; for (i = 0; i < 5; i++)//因输入五次,运用到for循环对该数组遍历并输入随机值; { scanf("%d", &arr[i]); } int num = arr[0];//通常比较俩个数或一组数时,我们都要运用到一种思想:引入第三个值把俩个数中的较大值存储进来; int x = 0;//将该数的下标进行初始化; for (i = 0; i < 5; i++)//对该数组进行遍历; { if (arr[i] > num)//此时假定num的值arr[0]为最大值,将arr数组中的数依次对其进行比较; { num = arr[i];//将最大值储存到num中; x = i;//将该数下标赋值给x; } } printf("max = %d,下标是: %d", num, x); return 0; }
此时一维数组的找最大值我们已经懂的差不多了,上点点难度开始二维数组的学习
二维数组:
1.首先依然要做的事情的是先对一个二维数组进行定义与值的录入;
2.此时我们依然要用到一开始学习一维数组的思想在数的比较时放入第三个数来进行存储;
3.此时我们在通过上面一样的方式用循环进行依次遍历数组来找出最大值存储到定义的第三个数中进行存储;
//输入一组数组判断出其中的最大值; int main() { int arr[3][4] = { 0 };//此时先创建一个任意的二维数组; int i = 0; int j = 0; for (i = 0; i < 3; i++)//此时定义的该数组是一个三行四列的数组,因此对其通过循环的方式依次输入; { for (j = 0; j < 4; j++) { scanf("%d", &arr[i][j]);//输入随机的12个数对其赋值; } } int x = 0;//定义该数组行数的位置; int y = 0;//定义该数组列数的位置; int max = arr[0][0];//假设arr[0][0]是所有元素中最大的; for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) { if (arr[i][j] > max)//再次通过循环的方式来将其每一行每一列的数与arr[0][0]进行比较; { max = arr[i][j];//此时通过了if语句来寻找出了最大值所在的那个数,把他的值赋值给max进行存储; x = i;//原本arr数组最大值所在的行数赋值给x; y = j;//原本arr数组最大值所在的列数赋值给y; } } } printf("max = %d,下标是: %d %d\n", max, x, y); return 0; }
好了关于数组中找出最大值的方法讲完了,如果有不好的地方欢迎各位大佬指出。