当前位置 : 主页 > 编程语言 > c语言 >

c语言实现找最大值最小值位置查找

来源:互联网 收集:自由互联 发布时间:2021-05-09
找最大值最小值位置 从键盘任意输入10个整数,计算并输出最大值和最小值及其它们在数组中的下标位置。 程序运行结果示例1: Input 10 numbers:1 2 3 4 5 6 7 8 9 10↙ max=10,pos=9 min=1,pos=0 程序

找最大值最小值位置
从键盘任意输入10个整数,计算并输出最大值和最小值及其它们在数组中的下标位置。

程序运行结果示例1:

Input 10 numbers:1 2 3 4 5 6 7 8 9 10↙

max=10,pos=9

min=1,pos=0

程序运行结果示例2:

Input 10 numbers:2 4 5 6 8 10 1 3 5 7 9↙

max=10,pos=5

min=1,pos=6

程序:

#include <stdio.h>
int FindMax(int a[], int n, int *pMaxPos);
int FindMin(int a[], int n, int *pMinPos);
int main()
{
  int a[10], maxValue, maxPos, minValue, minPos, i;
  printf("Input 10 numbers:");
  for (i=0; i<10; i++)
  {
    scanf("%d", &a[i]);       // 输入10个数
  }
 
  maxValue = FindMax(a, 10, &maxPos); // 找最大值及其所在下标位置
  minValue = FindMin(a, 10, &minPos); // 找最小值及其所在下标位置
  printf("max=%d,pos=%d\n", maxValue, maxPos);
  printf("min=%d,pos=%d\n", minValue, minPos);
  return 0;
}
 
//函数功能:求有n个元素的整型数组a中的最大值及其所在下标位置,函数返回最大值
int FindMax(int a[], int n, int *pMaxPos)
{
  int i, max;
  max = a[0];       //假设a[0]为最大值
  *pMaxPos = 0;      //假设最大值在数组中的下标位置为0
   
  for (i=1; i<n; i++)
  {
    if (a[i] > max)
    {
      max = a[i];
      *pMaxPos = i;   //pMaxPos指向最大值数组元素的下标位置
    }
  }
  return max ;
}
 
//函数功能:求有n个元素的整型数组a中的最小值及其所在下标位置,函数返回最小值
int FindMin(int a[], int n, int *pMinPos)
{
  int i, min;
  min = a[0];       //假设a[0]为最小
  *pMinPos = 0;      //假设最小值在数组中的下标位置为0
   
  for (i=1; i<10; i++)
  {
    if (a[i] < min)
    {
      min = a[i];
      *pMinPos = i; //pMinPos指向最小值数组元素的下标位置
    }
  }
  return min ;
}

到此这篇关于c语言实现找最大值最小值位置查找的文章就介绍到这了,更多相关c语言 最大值最小值内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

网友评论