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

用指针函数寻找数组中的最大值与次大值

#include <stdio.h>// 函数用于找出数组中的最大值和次大值
void LargestTow(int a[], int n, int *pfirst, int *psecond) {*pfirst = a[0];*psecond = a[1];if (*psecond > *pfirst) {// 如果初始的次大值大于最大值,交换它们int temp = *pfirst;*pfirst = *psecond;*psecond = temp;}for (int i = 2; i < n; i++) {if (a[i] > *pfirst) {// 如果当前元素大于最大值,更新次大值为原来的最大值,最大值更新为当前元素*psecond = *pfirst;*pfirst = a[i];} else if (a[i] > *psecond) {// 如果当前元素大于次大值但小于最大值,更新次大值为当前元素*psecond = a[i];}}
}int main() {int n;scanf("%d", &n);int a[n];for (int i = 0; i < n; i++) {scanf("%d", &a[i]);}int max, second_max;LargestTow(a, n, &max, &second_max);printf("%d %d\n", max, second_max);return 0;
}

 

以下是按照先遍历数组找出最大值,然后再次遍历数组找出最小值的思路,使用 C 语言编写的代码来解决上述问题(找出n个整数中的最大值和次大值):

#include <stdio.h>// 函数用于找出数组中的最大值和次大值
void LargestTow(int a[], int n, int *pfirst, int *psecond) {int max_value = a[0];int max_index = 0;// 第一次遍历数组,找出最大值及其索引for (int i = 1; i < n; i++) {if (a[i] > max_value) {max_value = a[i];max_index = i;}}*pfirst = max_value;// 将最大值所在位置的元素设为一个很小的值,避免它干扰找次大值a[max_index] = -99999999;int second_max_value = a[0];// 第二次遍历数组,找出次大值for (int i = 1; i < n; i++) {if (a[i] > second_max_value) {second_max_value = a[i];}}*psecond = second_max_value;
}int main() {int n;scanf("%d", &n);int a[n];for (int i = 0; i < n; i++) {scanf("%d", &a[i]);}int max, second_max;LargestTow(a, n, &max, &second_max);printf("%d %d\n", max, second_max);return 0;
}

 

题目描述

求n个整数中的最大值和次大值。要求定义一个函数LargestTow(),求数组a的最大值和次大值两个值,分别存入形参指针pfirst和psecond所指存储单元,函数原型如下:
void LargestTow(int a[],int n,int *pfirst,int *psecond)
{
/*数组a有n个元素,将数组中的最大值存入形参指针pfirst所指内存单元,将数组中第二大的值存入形参指针psecond所指内存单元。 */
}

输入描述

输入有两行,输入第一行是一个整数n,1<n<=1000;第二行是n个整数,由空格隔开。

输出描述

输入两个整数,表示数组中最大的两个值。输出占一行。

样例输入

5
6 3 4 9 8

样例输出

9 8

相关文章:

用指针函数寻找数组中的最大值与次大值

#include <stdio.h>// 函数用于找出数组中的最大值和次大值 void LargestTow(int a[], int n, int *pfirst, int *psecond) {*pfirst a[0];*psecond a[1];if (*psecond > *pfirst) {// 如果初始的次大值大于最大值&#xff0c;交换它们int temp *pfirst;*pfirst *…...

人工智能在金融领域的创新与应用

引言&#xff1a;AI如何重塑金融行业&#xff1f; 金融行业是人工智能&#xff08;AI&#xff09;技术的最佳应用场景之一。通过数据分析、模式识别和自动化处理&#xff0c;AI正为金融行业提供高效、安全和智能化的解决方案。从反欺诈到投资决策&#xff0c;AI正逐步改变金融服…...

shell脚本(4)一文解决比较运算符用户交互

免责声明 学习视频来自B 站up主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下代码、网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 比较运算符 在Shell脚本中…...

windows 操作系统下载 Android源码教程

前言 开始我是装了hyber-v 虚拟机ubuntu 的&#xff0c;然而非常的卡顿且难用。因此我尝试在windows上使用repo&#xff0c;因此有了这篇文章 补充 第二天发现编译源码也需要linux命令因为源码中的很多脚本都是.sh的 因此最终通过安装WSL解决&#xff08;在window应用商店就…...

【AIGC】如何使用高价值提示词Prompt提升ChatGPT响应质量

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;提示词英文模板&#x1f4af;提示词中文解析1. 明确需求2. 建议额外角色3. 角色确认与修改4. 逐步完善提示5. 确定参考资料6. 生成和优化提示7. 生成最终响…...

vue3-input 搜索框

第一种 实现效果 实现代码 <template><div class="input-box mb20"><input type="text" class="input" /><span class="span">搜</span></div> </template><script setup> import …...

记录eslint报错的情况

这几天在调试vue的eslint&#xff0c;害&#xff0c;我领导说eslint要打开规范代码&#xff0c;顺带看了一下eslint的规则&#xff0c;并且研究一下报错。切记每次修改了.eslintrc配置文件&#xff0c;需要重启项目再查看控制台&#xff0c;否则之前的报错会一直存在。 第一个…...

mongodb多表查询,五个表查询

需求是这样的&#xff0c;而数据是从mysql导入进来的&#xff0c;由于mysql不支持数组类型的数据&#xff0c;所以有很多关联表。药剂里找药物&#xff0c;需要药剂与药物的关联表&#xff0c;然后再找药物表。从药物表里再找药物与成分关联表&#xff0c;最后再找成分表。 这里…...

Git Bash + VS Code + Windows11 Git命令报错莫名奇妙的问题

环境&#xff1a; git version 2.47.0.windows.1 gitbash版本&#xff1a;Git-2.47.0-64-bit windows版本&#xff1a; Windows 11 专业版 版本号 23H2 安装日期 ‎2024/‎11/‎16 操作系统版本 22631.4460 体验 Windows Feature Experience Pack 1000.22700.10…...

湛江市社保卡申领指南:手机获取电子照片回执单号

在湛江市&#xff0c;社保卡的申领流程已经实现了数字化&#xff0c;为市民带来了极大的便利。特别是通过手机获取数码照片回执单号&#xff0c;这一环节更是简化了申领过程。今天&#xff0c;我们将详细介绍如何不去照相馆&#xff0c;利用手机来获取数码照片回执单号&#xf…...

Linux离线安装Docker命令,简单镜像操作

解压安装包 首先&#xff0c;使用 tar 命令解压 docker-27.3.1.tgz 安装包&#xff1a; tar -zxvf docker-27.3.1.tgz 将二进制文件移动到可执行路径上的目录 接着&#xff0c;将解压出来的 Docker 二进制文件复制到系统的可执行路径&#xff08;通常是 /usr/bin/&#xff09…...

【Node.js】Node.js 和浏览器之间的差异

Node.js 是一个强大的运行时环境&#xff0c;它在现代 JavaScript 开发中扮演着重要角色。然而&#xff0c;许多开发者在使用 Node.js 时常常会感到困惑&#xff0c;尤其是与浏览器环境的对比。本文将深入探讨 Node.js 和浏览器之间的差异&#xff0c;帮助你全面理解两者的设计…...

基于MySQL的 CMS(内容管理系统)的表结构设计

目录 1. 用户管理 (Users) 2. 内容管理 (Content/Posts) 3. 分类 (Categories) 4. 标签 (Tags) 5. 内容与分类关系 (Content_Category) 6. 内容与标签关系 (Content_Tag) 7. 媒体库 (Media) 8. 设置 (Settings) 9. 评论 (Comments) 10. 活动日志 (Activity_Log) 11. …...

2.13 转换矩阵

转换矩阵引用了库nalgebra&#xff0c;使用时研究具体实现。 use std::ops;use nalgebra::Perspective3;use crate::Scalar;use super::{Aabb, LineSegment, Point, Triangle, Vector};/// An affine transform #[repr(C)] #[derive(Debug, Clone, Copy, Default)] pub struct…...

【C语言】遗传算法matlab程序

遗传算法matlab程序 遗传算法是一种模拟自然选择过程的优化技术&#xff0c;用于解决复杂问题。在MATLAB中编写遗传算法程序&#xff0c;通常包括以下几个步骤&#xff1a; 初始化种群&#xff1a;创建一个初始解集&#xff08;种群&#xff09;&#xff0c;每个解代表一个问题…...

Java LinkedList 详解

LinkedList 是 Java 集合框架中常用的数据结构之一&#xff0c;位于 java.util 包中。它实现了 List、Deque 和 Queue 接口&#xff0c;是一个双向链表结构&#xff0c;适合频繁的插入和删除操作。 1. LinkedList 的特点 数据结构&#xff1a;基于双向链表实现&#xff0c;每个…...

mac-mini的时间机器,数据备份到alist 中的网盘

苹果的时间机器不能直接将备份存储在 alist 上的网盘&#xff0c;但可以通过一些中间步骤来实现类似的效果&#xff0c;以下是具体介绍&#xff1a; 方法原理 通过将支持 WebDAV 协议的网络存储挂载到本地&#xff0c;再将其设置为时间机器的备份磁盘&#xff0c;从而间接实现…...

【HarmonyOS】鸿蒙应用加载读取csv文件

【HarmonyOS】鸿蒙应用加载读取csv文件 一、问题背景&#xff1a; 1. csv文件是什么&#xff1f; csv是一种文本文件格式&#xff0c;与json类似。会存储一些文本内容&#xff0c;应用需要读取该文件&#xff0c;进行UI内容得填充等。 文件中的数据是以纯文本形式存储的&…...

Java retainAll() 详解

在 Java 中&#xff0c;retainAll() 是 Collection 接口&#xff08;List、Set 等集合类实现该接口&#xff09;的一种方法&#xff0c;用于保留集合中与指定集合交集的元素&#xff0c;删除其他所有元素。 以下是对 retainAll() 方法的详细讲解。 1. 方法定义 方法签名 boo…...

Redis的基本数据类型

初识Redis缓存 Redis缓存&#xff1a; 实际开发中经常使用Redis作为缓存数据库&#xff0c;从而提高数据存取效率&#xff0c;减轻后端数据库的压力。 可以将经常被查询的数据缓存起来&#xff0c;比如热点数据&#xff0c;这样当用户来访问的时候&#xff0c;就不需要到MyS…...

WarcraftHelper:魔兽争霸3兼容性救星,让经典游戏在现代电脑上重生!

WarcraftHelper&#xff1a;魔兽争霸3兼容性救星&#xff0c;让经典游戏在现代电脑上重生&#xff01; 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper …...

3个秘诀让黑苹果EFI配置效率提升100倍:告别拆机与代码的烦恼

3个秘诀让黑苹果EFI配置效率提升100倍&#xff1a;告别拆机与代码的烦恼 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 当你对着教程里满屏的ACPI补丁…...

PowerToys中文汉化版:微软官方增强工具箱的终极本地化体验

PowerToys中文汉化版&#xff1a;微软官方增强工具箱的终极本地化体验 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN PowerToys中文汉化版是微软官方系统…...

8大核心功能解决网盘下载难题:Online-disk-direct-link-download-assistant完全指南

8大核心功能解决网盘下载难题&#xff1a;Online-disk-direct-link-download-assistant完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿…...

Mac Mouse Fix:如何让你的普通鼠标在macOS上超越苹果触控板

Mac Mouse Fix&#xff1a;如何让你的普通鼠标在macOS上超越苹果触控板 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 你是否曾经为macOS对第三…...

浏览器魔法师:Greasy Fork用户脚本终极指南,5分钟解锁网页超能力

浏览器魔法师&#xff1a;Greasy Fork用户脚本终极指南&#xff0c;5分钟解锁网页超能力 【免费下载链接】greasyfork An online repository of user scripts. 项目地址: https://gitcode.com/gh_mirrors/gr/greasyfork 你是否厌倦了网页上烦人的广告&#xff1f;想要一…...

实战指南:使用快马平台开发基于codex的vscode智能sql查询助手

实战指南&#xff1a;使用快马平台开发基于Codex的VSCode智能SQL查询助手 最近在开发过程中&#xff0c;我发现编写和优化SQL查询是个挺费时间的事情。特别是当业务逻辑复杂时&#xff0c;经常要反复调试语法和性能问题。于是我想&#xff0c;能不能利用AI来辅助这个流程&…...

RTX 4090D 24G显存适配方案:PyTorch 2.8镜像GPU利用率提升实测分析

RTX 4090D 24G显存适配方案&#xff1a;PyTorch 2.8镜像GPU利用率提升实测分析 1. 开篇&#xff1a;为什么选择RTX 4090D 24G RTX 4090D作为NVIDIA最新一代消费级显卡旗舰&#xff0c;24GB显存容量使其成为大模型训练和推理的理想选择。相比专业级显卡动辄数万的价格&#xf…...

音频的爬虫

1.前提准备需要在终端中下载requests模块 --- 终端在软件的左下角&#xff0c;下方图案例下载的语法&#xff1a;pip install requests&#xff08;1&#xff09;下载成功会报出的结果&#xff0c;如下图所示&#xff1a;&#xff08;2&#xff09;下载失败会报出的结果&#…...

7大实战技巧精通DLT Viewer:汽车电子日志分析权威指南

7大实战技巧精通DLT Viewer&#xff1a;汽车电子日志分析权威指南 【免费下载链接】dlt-viewer Diagnostic Log and Trace viewing program 项目地址: https://gitcode.com/gh_mirrors/dl/dlt-viewer 一、认知&#xff1a;揭开DLT Viewer的神秘面纱 在现代汽车电子系统…...