C语言程序 数组的最大值和最小值的

  1. 获取数组的最大值和最小值
    使用 C 语言编写程序获取数组的最大值和最小值,可以先利用 for 循环遍历数组,依次将元素与当前最大值和最小值比较,更新最大值和最小值即可。代码如下:
#include <stdio.h>

int main() {
  int nums[5] = {1, 2, 3, 4, 5};
  int i, max = nums[0], min = nums[0];
  for (i = 1; i < 5; i++) {
    if (nums[i] > max) {
      max = nums[i];
    }
    if (nums[i] < min) {
      min = nums[i];
    }
  }
  printf("Max value is %d\n", max);
  printf("Min value is %d\n", min);
  return 0;
}

在程序中,我们定义了一个长度为 5 的整数数组 nums,并将其初始化为 {1, 2, 3, 4, 5}。接着,我们定义了变量 i,max 和 min,用于保存最大值和最小值的初始值。然后使用 for 循环遍历数组,依次将元素与当前最大值和最小值比较,更新最大值和最小值即可。最后,使用 printf 函数输出结果。

  1. 获取动态数组的最大值和最小值
    有时候,我们需要获取动态数组的最大值和最小值。这时候,我们可以使用 malloc 函数动态分配数组内存,然后使用和静态数组相同的方法来获取最大值和最小值。代码如下:
#include <stdio.h>
#include <stdlib.h>

int main() {
  int n, i, *nums, max, min;
  printf("Enter the size of array: ");
  scanf("%d", &n);
  nums = (int*) malloc(n * sizeof(int));
  printf("Enter %d integers: ", n);
  for (i = 0; i < n; i++) {
    scanf("%d", &nums[i]);
  }
  max = nums[0];
  min = nums[0];
  for (i = 1; i < n; i++) {
    if (nums[i] > max) {
      max = nums[i];
    }
    if (nums[i] < min) {
      min = nums[i];
    }
  }
  printf("Max value is %d\n", max);
  printf("Min value is %d\n", min);
  free(nums);
  return 0;
}

在程序中,我们首先使用 scanf 函数获取动态数组的大小 n,然后使用 malloc 函数动态分配 n 个 int 类型的数组元素,返回的指针通过 变量 nums 引用该数组,然后使用 for 循环依次输入数组元素。接着,我们依然采用和静态数组相同的方式来获取最大值和最小值即可。最后,使用 free 函数释放内存。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言程序 数组的最大值和最小值的 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • C++实现十进制数转为其它进制数

    关于C++实现十进制数转为其他进制数的攻略,我将分为以下几个步骤进行介绍: 确定需要转换的十进制数以及目标进制数 使用循环和取模运算将十进制数转为目标进制数的各位数字 反转转换后的数字(可选) 输出转换后的数字(可选) 接下来我将详细讲解每一步的实现过程,并提供两个示例说明。 步骤1:确定需要转换的十进制数以及目标进制数 在进行进制转换之前,需要明确需要转换…

    C 2023年5月23日
    00
  • 紫米新品C-TO-C数据线配置怎么样?

    紫米新品C-TO-C数据线配置攻略 紫米新品C-TO-C数据线是一款高质量的USB数据线,采用了最新的Type-C接口,支持快速充电和数据传输,同时还具备高品质的工艺和材料,对于喜欢使用高品质产品的用户来说,是一个很好的选择。本攻略将从以下几个方面详细讲解该数据线的配置情况。 长度 紫米新品C-TO-C数据线有多种长度可选,包括0.5米、1米、2米和3米。用…

    C 2023年5月23日
    00
  • C语言深入探究程序的编译之预处理

    关于C语言深入探究程序的编译之预处理,我可以为您提供一份详细的攻略。如下所示: C语言深入探究程序的编译之预处理 什么是预处理 在C语言中,预处理就是一个在编译过程中的特殊阶段,它会在实际的编译之前,对源代码进行一些列的宏替换、条件编译、头文件包含等操作,以生成最终的源代码,供编译器进行编译。 预处理的过程 预处理的过程大致可以分为以下步骤: 删除所有的注释…

    C 2023年5月30日
    00
  • 酷睿i5-8500值得买吗?Intel八代酷睿i5-8500处理器详细评测图解

    酷睿i5-8500值得买吗?Intel八代酷睿i5-8500处理器详细评测图解 介绍 本文主要对 Intel 八代酷睿的 i5-8500 处理器进行详细评测,帮助消费者了解该处理器的性能以及其是否值得购买。处理器是电脑的核心部件之一,它对于电脑的稳定性和速度都有着重要的影响,因此我们需要对不同种类的处理器进行深入的了解。 酷睿i5-8500 的规格 特性 描…

    C 2023年5月22日
    00
  • 详解C++中static的用法

    当我们在C++中定义一个对象时,每个对象都有自己的独立空间,如果一个类中定义了一个变量,那么每个对象都会生成一个该变量的实例。但在一些时候,我们希望它的内存空间只有一份而不是被复制多份,这就需要使用static。 1. static的基本用法 在C++中,static的主要作用是限制变量、函数或类的作用域。在函数内部使用static局部变量,就可以将其变成静…

    C 2023年5月22日
    00
  • 避免elif和ELSE IF的阶梯和阶梯问题

    避免使用过多的elif和elseif语句是一个组织代码的好习惯,因为它们会导致代码不易维护,出现错误的可能性也更大。以下是一些关于如何避免elif和elseif语句阶梯和阶梯问题的建议: 使用字典代替elif语句 如果有一系列的if…elif语句,每个分支中的代码差别较小,这可以使用字典代替。 例如,我们想根据性别来获取某人的称呼: def get_ti…

    C 2023年5月9日
    00
  • C语言实现栈的示例代码

    下面我会给您讲解一下C语言实现栈的示例代码的完整攻略。 一、栈的定义 栈(Stack)是一种只能在一端进行插入或删除操作的线性表。栈按照先进后出(Last in First Out)的原则进行操作,也就是说后插入进去的元素先被删除。 栈的两个特殊点: 栈底:数据插入的一端,即数据结构的初始位置。 栈顶:栈最近插入的元素所在的位置。 二、栈的操作 栈的基本操作…

    C 2023年5月23日
    00
  • c#基础——了解程序结构

    C#基础——了解程序结构 C#是一种现代的、通用的、面向对象的编程语言。在学习C#编程语言时需要了解其基本的程序结构,其中包括C#程序中代码的组织方式以及控制其执行流程的结构和元素。 基本程序结构 C#程序由以下几个基本元素组成: 命名空间(Namespace) 类(Class) 方法(Method) 语句(Statement) 表达式(Expression…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部