当前位置: 首页 > article >正文

【id:134】【20分】B. 求最大值最小值(引用)

题目描述

编写函数void find(int *num,int n,int &minIndex,int &maxIndex),求数组num(元素为num[0],num[1],...,num[n-1])中取最小值、最大值的元素下标minIndex,maxIndex(若有相同最值,取第一个出现的下标。)

输入n,动态分配n个整数空间,输入n个整数,调用该函数求数组的最小值、最大值下标。

改变函数find功能不计分。

要求:在main函数中按样例格式输出结果,不能直接在find函数中输出。

输入

测试次数

每组测试数据一行:数据个数n,后跟n个整数

输出

每组测试数据输出两行,分别是最小值、最大值及其下标。具体格式见样例。多组测试数据之间以空行分隔。


输入样例1

2
5 10 20 40 -100 0
10 23 12 -32 4 6 230 100 90 -120 15


输出样例1

min=-100 minindex=3
max=40 maxindex=2

min=-120 minindex=8
max=230 maxindex=5


#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	//比大小 找下标
	int t;
	cin >> t;
	while (t--)
	{
		int a;
		cin >> a;
		int* A = new int[a];
		int minIndex = 0, maxIndex = 0;
		for (int i = 0; i < a; i++)
		{
			cin >> A[i];
		}
		int max = A[0], min = A[0];

		for (int i = 0; i < a; i++)
		{
			//	cin >> A[i];
			if (max <= A[i])
			{
				maxIndex = i;
				max = A[i]; 
			}
			if (min >= A[i])
			{
				minIndex = i;
				min = A[i];
			}
		}
		cout << "min=" << min << ' ' << "minindex=" << minIndex << endl;
		cout << "max=" << max << ' ' << "maxindex=" << maxIndex << endl;
		cout << endl;
		delete[]A;
	}
}

tip:创建动态数组 动态大小

cin >> a;
 int* A = new int[a];


http://www.kler.cn/a/4384.html

相关文章:

  • 归子莫的科技周刊#2:白天搬砖,夜里读诗
  • 人工智能任务19-基于BERT、ELMO模型对诈骗信息文本进行识别与应用
  • C#,图论与图算法,任意一对节点之间最短距离的弗洛伊德·沃肖尔(Floyd Warshall)算法与源程序
  • Spring Boot + MyBatis-Flex 配置 ProxySQL 的完整指南
  • TCP-IP详解卷 TCP的超时与重传
  • Qt中容器 QVector、QList、QSet和QMap 性能与用途比较
  • 如何利用ChatGPT自动生成SQL语句
  • 物流云数据分析平台
  • java版工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单
  • 自由传奇|为你的队伍加油!
  • Linux文件编程(一)
  • Mysql-索引-数据结构
  • 论文中图一.1修改为图1.1
  • mysql count(*)的性能如何?
  • javaEE简单示例——基于注解的事务管理
  • 解决echarts的柱状图和折线图的点击非图表图形元素不会触发事件
  • 轻松拿下年薪35W+Offer!这15个高频开发面试问题必须掌握!
  • printf()函数
  • 企业邮箱的定义和要求
  • MySQL调优
  • 1.2 从0开始学Unity游戏开发--运行原理
  • vue-antd-admin——实现全网站选项的切换并实现页面的刷新——技能提升
  • iOS私有pod库的gitignore文件
  • 关于清除浮动
  • Linux中find命令使用示例
  • 聊一聊前端的性能指标