【C++学习笔记】一、数组寻找最大值最小值

文章目录

  • 1 介绍说明
  • 2 生成目标数组
    • 1 固定目标数组
    • 2 随机int数值
  • 3 遍历查询
  • 4 程序源码
  • 5运行结果

1 介绍说明

寻找数组中最大值和最小值的方法很多,无非是各种版本比较大小,特征优化处理等。
在这里用的是最基础的遍历,记录最大最小值,打印输出最大最小值

2 生成目标数组

1 固定目标数组

首先就是目标数组,`

int nums[]{ 8, 4, 2, 1, 22, 144, 12 };				//C++11版本后数组可以直接省略 赋值 =
//int nums[] = { 8, 4, 2, 1, 22, 144, 12 };				//数组

2 随机int数值

你也可以自己随机生成
方法如下:
先包含

#include 

在程序中添加

	srand(time(NULL));							//时间种子					 	
		for (int i = 0; i < 10; i++)
	{
		arr1[i]= rand() % 4 + 1;				//   数值范围(1-4)
		//arr1[i]= rand() % 4 ;					//   数值范围(0-3)	
	}

srand函数是随机数发生器的初始化函数。

time 返回的小数值为 0(零)到 0.99999999 之间的数值,
代表从 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 P.M.) 之间的时间。

3 遍历查询

直观点直接看代码如下:

for(int  i = 0; i < numsLen - 1; i++)
		{
			if(nums[i] > max)
			{
					max = nums[i];		//记录最大值
					maxIndex = i ;		//记录最大值的下标
			}
			if(nums[i] < min)
			{
					min = nums[i];		//记录最小值
					minIndex = i;       //记录最小值的下标
			}
		}

4 程序源码

/*
创建者	:	XTT
功能	:	Demon测试数组
			1: 求和,求出最大值和最小值
			2: 找到数组中奇数个数和偶数个数
			3:查找输入的数字在数组中的下标则下标为-1
时间	:	2019/12/27
*/
#include   < iostream>

using namespace std;

int main()
{
		int nums[]{ 8, 4, 2, 1, 22, 144, 12 };				//数组
		int max = nums[0];									//最大值
		int min = nums[0];									//最小值
		int maxIndex = 0;									//最大值的下标
		int minIndex = 0;									//最小值的下标
		//int sum = 0;										//求和
		int jCout = 0;										//奇数个数
		int oCout = 0;										//偶数个数
		int searchNum;										//用户查找的数字
		int searchIndex = 9;								//用户查找数字的下标
		int numsLen = sizeof(nums)/sizeof(int);				//计算数组长度
		/*---------------------------------------------------
		//自己demon的求和,可以不用看				
		for(int i = 0; i < numsLen; i++)
		{
			cout << nums[i] << "\t" ;
			sum+=nums[i];
		}
			cout << endl;
		cout << "数列的和为:" << sum << "\t平均值为:" << sum /numsLen << endl; 
		//
		---------------------------------------------------*/
		for(int  i = 0; i < numsLen - 1; i++)
		{
			if(nums[i] > max)
			{
					max = nums[i];		//记录最大值
					maxIndex = i ;		//记录最大值的下标
			}
			if(nums[i] < min)
			{
					min = nums[i];		//记录最小值
					minIndex = i;       //记录最小值的下标
			}
			if(nums[i] % 2 == 1)
			{
				jCout ++;	 			//记录奇数
			}
		}
		
		oCout = numsLen - jCout;
		cout << "请输入查找的数字" << endl;
		cin >> searchNum;
		for (int i = 0; i < numsLen - 1; i++)
		{
			if (nums[i] == searchNum)
			{
				searchIndex = i;
				cout << "查找的数字在" << searchIndex << endl;
				break;  
			}
		}
		cout << "最大值是" << max << "\t" <<"下标是"<< maxIndex << endl ;
		cout << "最小值是" << min << "\t" <<"下标是"<< minIndex << endl ;
		cout << "奇数个数是" << jCout << endl ;	
		cout << "偶数个数是" << oCout << endl ;		
		cout << "输入查找的数字" << searchNum << endl ;
		if (searchIndex == 9)
		{
			cout << "指定数组内无查找的数据" << endl;
		}
		return 0;
}

5运行结果

【C++学习笔记】一、数组寻找最大值最小值_第1张图片

你可能感兴趣的:(C++学习笔记,c++)