寻找数组中最大值和最小值的方法很多,无非是各种版本比较大小,特征优化处理等。
在这里用的是最基础的遍历,记录最大最小值,打印输出最大最小值
首先就是目标数组,`
int nums[]{ 8, 4, 2, 1, 22, 144, 12 }; //C++11版本后数组可以直接省略 赋值 =
//int nums[] = { 8, 4, 2, 1, 22, 144, 12 }; //数组
你也可以自己随机生成
方法如下:
先包含
#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.) 之间的时间。
直观点直接看代码如下:
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; //记录最小值的下标
}
}
/*
创建者 : 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;
}