研究生复试------21 谁是老二?

2023-11-02 03:50

本文主要是介绍研究生复试------21 谁是老二?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题描述 :

一维数组中存储不超过100个整型数据,请找出其中第二大的元素,输出这些元素的值以及它们的下标。

注意,由于元素值可能相同,因此具有最大值的元素个数可能不只一个,第二大的元素是比它们小的那些元素。

输入说明 :

用户可输入多组数据,每组数据由两行组成:

第一行:数组元素的个数n

第二行:n个数组元素,由空格分隔

输出说明 :

对于每组输入,输出一行,包含第二大的元素的值以及它们的下标(都是整数),整数之间以空格分隔。如果有多个下标,则下标按从小到大的顺序输出。每行的开头与结尾无多余空格。

每组输出占一行。

如果不存在第二大的元素,则输出"none"(不包含引号)
在这里插入图片描述
好吧,我承认这道题我做了好大一会儿,不就求个老二吗,下标是刚开始输入时的下标位置,最后选择直接再开辟个数组吧

#include<stdio.h>
#include<stdlib.h>
//排序,我喜欢的直接排序
void sort(int a[],int n){int *p;int i,j,key;p=a;for(i=1;i<n;i++){if(a[i-1]<a[i]){key=a[i];for(j=i-1;j>=0 && key>a[j];j--){a[j+1]=a[j];}a[j+1]=key;}}
}
int main(){int *a,*b,i,n,j,k,max;while(scanf("%d",&n)!=EOF){a=(int *)malloc(sizeof(int)*n);b=(int *)malloc(sizeof(int)*n);for(i=0;i<n;i++){scanf("%d",&a[i]);b[i]=a[i];}sort(a,n);max=0;for(i=0;i<n;i++){if(a[i]!=a[max]){k=a[i];//找到啦,这就是老二的值printf("%d",k);break;}}if(i>=n)printf("none");else{     //看看等于老二的位置都在那里,遍历一下原数组for(i=0;i<n;i++){if(b[i]==k)printf(" %d",i);}}printf("\n");}return 0;}

这篇关于研究生复试------21 谁是老二?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/327909

相关文章

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

【JavaScript】LeetCode:21-25

文章目录 21 最大子数组和22 合并区间23 轮转数组24 除自身以外数组的乘积25 缺失的第一个正数 21 最大子数组和 贪心 / 动态规划贪心:连续和(count)< 0时,放弃当前起点的连续和,将下一个数作为新起点,这里提供使用贪心算法解决本题的代码。动态规划:dp[i]:以nums[i]为结尾的最长连续子序列(子数组)和。 dp[i] = max(dp[i - 1]

安卓玩机工具------小米工具箱扩展工具 小米机型功能拓展

小米工具箱扩展版                     小米工具箱扩展版 iO_Box_Mi_Ext是由@晨钟酱开发的一款适用于小米(MIUI)、多亲(2、2Pro)、多看(多看电纸书)的多功能工具箱。该工具所有功能均可以免root实现,使用前,请打开开发者选项中的“USB调试”  功能特点 【小米工具箱】 1:冻结MIUI全家桶,隐藏状态栏图标,修改下拉通知栏图块数量;冻结

react笔记 8-21 约束性 表单

1、约束性组件和非约束性组件 非约束性组件<input type="text" name="" defaultValue={this.state.msg}></input>这里他的value是用户输入的值 并没有执行操作 只是获取到了msg的值 用户输入不会改变数据非约束性组件需要使用defaultValue获取数据 否则会报错约束性组件<input type="text

研究生生涯中一些比较重要的网址

Mali GPU相关: 1.http://malideveloper.arm.com/resources/sdks/opengl-es-sdk-for-linux/ 2.http://malideveloper.arm.com/resources/tools/arm-development-studio-5/ 3.https://www.khronos.org/opengles/sdk/do

【超级干货】2天速成PyTorch深度学习入门教程,缓解研究生焦虑

3、cnn基础 卷积神经网络 输入层 —输入图片矩阵 输入层一般是 RGB 图像或单通道的灰度图像,图片像素值在[0,255],可以用矩阵表示图片 卷积层 —特征提取 人通过特征进行图像识别,根据左图直的笔画判断X,右图曲的笔画判断圆 卷积操作 激活层 —加强特征 池化层 —压缩数据 全连接层 —进行分类 输出层 —输出分类概率 4、基于LeNet

redis 实现单位时间内错误记录 时间到key值就被清除------最近脑子不好使觉得还是写个博客试试

直接在客户端操作的, 所以需要redis的简单命令  去对比JAVA客户端jedis的命令就行   添加---set     格式 set  key  value  EX time(秒)   如果这个time不添加的话 ,那默认就是 永久 获取--get    格式 get key  ---查看剩余时间    格式 TTL key ---实现key实现自增: inrc key

【数据结构】LinkedList ------ java实现

知识框架图:   LinkedList是一种常用的数据结构。底层是一个双向链表。每个节点包含数据以及指向前一个节点和后一个节点的引用。    一:LinkedList的使用    1.1 LinkedList的构造方法 方法 解释LinkedList() 无参构造public LinkedList(Collection<? extends E> c) 使用其他集合容器中

Linux程序设计读书笔记------入门

第一章 入门   1:什么是Unix Unix是Open Group管理的一个商标,它指的是遵循特定规范的计算机操作系统 2:什么是Linux Linux是一个可以自由发布的类Unix内核实现,他是一个操作系统的底层核心 3:Linux应用程序表现为两种特殊类型的文件:可执行文件和脚本文件 4:Linux文本编辑器:Vim,Emacs等 5:库文件   1:静态库:.a   2

NLP从零开始------文本中阶处理之序列到序列模型(完整版)

1. 序列到序列模型简介         序列到序列( sequence to sequence, seq2seq) 是指输入和输出各为一个序列(如一句话) 的任务。本节将输入序列称作源序列,输出序列称作目标序列。序列到序列有非常多的重要应用, 其中最有名的是机器翻译( machine translation), 机器翻译模型的输入是待翻译语言(源语言) 的文本,输出则是翻译后的语言(目标语言)