首页 > 其他分享 >【C语言】学习笔记:找出一个二维数组中的最大值,并打印出该最大值及其在数组中的位置

【C语言】学习笔记:找出一个二维数组中的最大值,并打印出该最大值及其在数组中的位置

时间:2024-07-10 11:00:17浏览次数:9  
标签:并打印 lie int max 最大值 数组 arry

找出一个二维数组中的最大值,并打印出该最大值及其在数组中的位置。

首先,定义了必要的变量,包括用于遍历数组的索引变量 i 和 j,以及用于存储最大值及其位置的变量 hang、lie 和 max。

定义了一个名为 arry 的二维数组,并初始化了其元素。

使用两个嵌套的 for 循环来遍历数组,并使用 printf 函数打印数组的每个元素。数组元素之间用 \t(制表符)分隔,每行后换行。

在打印完数组后,设置 max 为数组的第一个元素,即 arry[0][0],作为当前已知的最大值。

再次使用两个嵌套的 for 循环遍历数组,寻找最大值。如果发现 max 小于当前遍历到的数组元素 arry[i][j],则更新 max 为该元素的值,并记录其行索引 hang 和列索引 lie。

遍历完成后,使用 printf 函数打印最大值及其在数组中的位置。注意,在打印时,将索引 hang 和 lie 加 1,以符合通常从 1 开始计数的习惯。

#include <stdio.h>

int main()
{
	int i;
	int j;
	int hang;
	int lie;
	int arry[3][4] = {{1,12,23,84}
					,{15,116,347,68}
					,{99,110,131,121}};
	int max;
	
	for(i=0;i<3;i++){
		for(j=0;j<4;j++){
			printf("%d \t",arry[i][j]);
		}
		printf("\n");
	}
	
	max = arry[0][0];//先记录第一个身高
	for(i=0;i<3;i++){
		for(j=0;j<4;j++){
			if(max < arry[i][j]){//如果记录的身高比当前这个身高矮,重新写入新的身高
				max = arry[i][j];
				hang = i;
				lie = j;
			}
		}
	}
	printf("其中在%d行第%d列的数%d最大\n",hang+1,lie+1,max);
	return 0;
}

标签:并打印,lie,int,max,最大值,数组,arry
From: https://blog.csdn.net/Webb666/article/details/140317868

相关文章

  • 精讲:java之多维数组的使用
    一、多维数组简介1.为什么需要二维数组我们看下面这个例子?“        某公司2022年全年各个月份的销售额进行登记。按月份存储,可以使用一维数组。如果改写为按季度为单位存储怎么办呢?        或许现在学习了一维数组的你只能申请四个一维数组去存储每个季......
  • Day 45 | 300.最长递增子序列 、674. 最长连续递增序列 、718. 最长重复子数组
    300.最长递增子序列今天开始正式子序列系列,本题是比较简单的,感受感受一下子序列题目的思路。视频讲解:https://www.bilibili.com/video/BV1ng411J7xPhttps://programmercarl.com/0300.最长上升子序列.html给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由......
  • c语言函数指针和函数数组
    1.函数指针我们都知道c语言指针可以指向整形,浮点型,字符等等,但实际上指针也可以指向函数。实际上当我们定义一个函数时,最终都会创建一个函数指针存储函数的地址。那么函数指针怎么定义呢?函数指针的定义不同于其他变量的定义,其他变量的定义是这样的:变量类型变量名;但c......
  • 数组
    数组相同类型数据的有序集合,数组也是对象,数组长度一旦确定不可更改。每一个数据被称为一个数组元素,每个数组元素可以通过索引(下标,从0开始)访问必须先声明数组变量,才能使用数组:数据类型[]数组名称;例:Int[]nums;Java用new操作符创建数组,例:nums=newint[10];获取数......
  • 用python写一个脚本,读取srt文件中的内容,并打印出重复的内容,且将不重复的内容保存到新
    代码:#定义一个函数来处理文件defprocess_file(src_filename,unique_filename):seen=set()duplicates=set()withopen(src_filename,'r',encoding='utf-8')asfile:forlineinfile:#将读取的行转换为小写,以避免大小写差异导......
  • JAVA-二维数组-要求计算出每个季度的总营业额和全年的总营业额-求指导
            二维数组的练习某商城每个季度的营业额如下:单位(万元)第一季度:22,66,44第二季度:77,33,88第三季度:25,45,65第四季度:11,66,99要求计算出每个季度的总营业额和全年的总营业额package_exercis;publicclassTwoArray{publicstaticvoidmain(S......
  • CF1864F Exotic Queries (离线+线段树+树状数组)
    CF1864FExoticQueries离线+线段树+树状数组先把权值在\([l,r]\)之内的单独拎出来看性质。可以知道策略一定是元素从小到大消成\(0\)。当消除元素\(x\)时,最好的情况当然是一次全消了,但一般元素\(x\)的位置两两之间会有之前消成的\(0\),将所有位置分成了\(n\)段,那么消......
  • golang-数组基本使用
    Go语言中的数组是一个固定长度的元素序列,这些元素都是相同的类型。数组是值类型,这意味着当它们被赋值给新的变量时,会进行一次数组的复制。创建数组通过指定元素类型和数组长度来创建数组。数组长度必须是一个常量表达式,因为数组的长度是其类型的一部分。数组的数量一旦确定就不......
  • LeetCode 1546. 和为目标值且不重叠的非空子数组的最大数目
    1546.和为目标值且不重叠的非空子数组的最大数目给你一个数组 nums 和一个整数 target 。请你返回 非空不重叠 子数组的最大数目,且每个子数组中数字和都为 target 。示例1:输入:nums=[1,1,1,1,1],target=2输出:2解释:总共有2个不重叠子数组(加粗数字表示)[1,......
  • 比较两个数组中是否有相同的元素
    双重遍历循环太过复杂点击查看代码letarr1=[1,2,3];letarr2=[1,2,3,4];lethasCommonElement=false;for(leti=0;i<arr1.length;i++){for(letj=0;j<arr2.length;j++){if(arr1[i]===arr2[j]){hasCommonElement=true;......