C语言之输出一个二维数组中,求每列最大的元素,并存放在另一个数组中

简介: C语言之输出一个二维数组中,求每列最大的元素,并存放在另一个数组中

请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。

#include<stdio.h>
void func(int arr[4][4], int pp[4])
{
  int i,j;
  for (j = 0; j < 4; j++)//本题的特殊性在于输出每列最大的元素,因此应当固定列的基础去遍历行
  {
    pp[j] = arr[0][j];//遍历不同列时,将原始数组每列第一个元素赋给目标数组
    for (i = 1; i < 4; i++)//遍历数组各行,注意行数是从1开始而不是0
    {
      if (arr[i][j] > pp[j])
        pp[j] = arr[i][j];//将每列最大的数储存在目标数组中
    }
  }
}
main()
{
  int i, j, arr[4][4],pp[4];
  printf("请输入原始数组:\n");
  for (i = 0; i < 4; i++)
  {
    for (j = 0; j < 4; j++)
      scanf_s("%d", &arr[i][j]);
  }
  func(arr, pp);
  printf("整理后的数组为:");
  for (i = 0; i < 4; i++)
  {
    printf("%d  ", pp[i]);
  }
}

在拿到该题时,一部分人可能会想到重新定义一个数组max[N]将每列元素的最大值存放在该数组中,如上面所示,直接使max[N]=pp[N]是不能实现两个数组中元素对应赋值,而且定义第三个变量再与pp数组建立联系明显增加了代码量,出错率也会大大提高。

相关文章
|
存储 人工智能 Java
一文彻底搞定C语言中的二维数组
本文详细介绍了C语言中的多维数组,包括二维和三维数组的定义、初始化方式、内存布局及遍历方法。通过具体示例讲解了多种赋值技巧,并强调了数组在内存中按行存放的特点。希望这些内容能帮助你在编程路上不断成长!君志所向,一往无前!
1595 1
一文彻底搞定C语言中的二维数组
|
存储 人工智能 程序员
一文彻底搞明白C语言的数组
本文详细介绍了C语言中的数组,包括定义、初始化(静态与动态)、存储方式、访问方法及常用操作,如遍历、修改元素和作为函数参数传递。数组是C语言中最基本的数据结构之一,掌握它对编程至关重要。下篇将介绍二维数组,敬请期待!
931 0
一文彻底搞明白C语言的数组
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
1222 6
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
607 5
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
算法 编译器 程序员
C语言学习笔记—P11(数组<2>+图解+题例+三子棋游戏<初级>)
C语言学习笔记(数组<2>+图解+题例+三子棋游戏<初级>)
312 0
C语言学习笔记—P11(数组<2>+图解+题例+三子棋游戏<初级>)
|
存储 C语言
C语言学习笔记—P10(数组<1>+图解+题例)
C语言学习笔记(数组<1>+图解+题例)
374 0
C语言学习笔记—P10(数组<1>+图解+题例)
|
C语言
C语言学习笔记——数组(二)
C语言学习笔记——数组
483 0
C语言学习笔记——数组(二)
|
C语言
C语言学习笔记——数组(一)
C语言学习笔记——数组
332 0
C语言学习笔记——数组(一)