Problem E 寻找最大元素和第二大元素
Problem Description
编写函数: void find_two_largest(const int a[],int n,int *largest,int *second_largest);
当传递长度为n的数组a时,函数将在数组a中搜寻最大元素和第二大元素,把它们分别存储在由largest和sceond_largest指向的变量中。
测试程序为:
#include <stdio.h>
#define N 100
void find_two_largest(const int a[],int n,int *largest,int *second_largest);
int main()
{
int a[N], len;
int largest, second_largest;
scanf("%d", &len);
for (int i = 0; i < len; i++)
{
scanf("%d", &a[i]);
}
find_two_largest(a, len, &largest, &second_largest);
printf("%d %d\n", largest, second_largest);
return 0;
}
/* 你的代码将被嵌在这里 */
Input Description
输入的第一行为一个整数n(0<n<100),表示数组元素的个数。
第二行为n个整数,相互之间以空格分隔。
Output Description
输出所求的最大元素和第二大元素,以空格分隔,行末不能有多余的空格。
Sample Input
5
10 3 1 20 9
Sample Output
20 10
答案:
#include <stdio.h>
#define N 100
void find_two_largest(const int a[],int n,int *largest,int *second_largest);
int main()
{
int a[N], len;
int largest, second_largest;
scanf("%d", &len);
for (int i = 0; i < len; i++)
{
scanf("%d", &a[i]);
}
find_two_largest(a, len, &largest, &second_largest);
printf("%d %d\n", largest, second_largest);
return 0;
}
void find_two_largest(const int a[], int n, int *largest, int *second_largest)
{
int k;
if(a[0] < a[1])
{
*largest = a[1];
*second_largest = a[0];
}
else
{
*largest = a[0];
*second_largest = a[1];
}
for(k = 2; k < n; k++)
{
if(a[k] > *largest)
{
*second_largest = *largest;
*largest = a[k];
}
else if(a[k] > *second_largest)
{
*second_largest = a[k];
}
}
}
#include <stdio.h>
#define N 100
void find_two_largest(const int a[],int n,int *largest,int *second_largest);
int main()
{int a[N], len;int largest, second_largest;scanf("%d", &len);for (int i = 0; i < len; i++){scanf("%d", &a[i]);}find_two_largest(a, len, &largest, &second_largest);printf("%d %d\n", largest, second_largest);return 0;
}
void find_two_largest(const int a[], int n, int *largest, int *second_largest)
{int k;if(a[0] < a[1]){*largest = a[1];*second_largest = a[0];}else{*largest = a[0];*second_largest = a[1];}for(k = 2; k < n; k++){if(a[k] > *largest){*second_largest = *largest;*largest = a[k];}else if(a[k] > *second_largest){*second_largest = a[k];}}
}
Problem E 寻找最大元素和第二大元素相关推荐
- 选第二大元素python(分治)
给定n个元素,找出元素中的第二大元素.该问题如果用线性扫描的方法的话, 首先找出最大值,比较n-1次 然后从n-1个元素中找出最大值,比较n-2次 下面考虑设计一个选第二大元素的分治算法 1.将n个元 ...
- 求解第二大元素——锦标赛算法(Tournament Algorithm)
问题 给定一个长度为的数组,请用比较次数小于的算法求出数组中的第二大元素. 求解 看到题目中的比较次数小于就知道不能先用一次循环找出最大元素,接着利用最大元素再一次循环找到第二大元素. 那么,应该怎么 ...
- 【锦标赛算法】找第二大元素FindSecond()
考虑找第二大元素,会想到调用两次Findmax()算法函数(推导可以参考上篇文章).先用Findmax()算法找出最大值,然后从L中删除max,再调用Findmax()找出剩下元素中的最大元素,就是输 ...
- 从键盘输入一个4x4整数矩阵,以主对角线为对称轴,将右上角元素中较大元素代替左下角对应元素,并将左下角元素
从键盘输入一个4x4整数矩阵,以主对角线为对称轴,将右上角元素中较大元素代替左下角对应元素,并将左下角元素(含对角线元素)输出.注意处理输入输出显示 #include <stdio.h> ...
- 编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推。
编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推. 例如,原始二维数组为,逆向存放后变为.试建立一个类 ...
- 求数组第二大元素 和 字符串拷贝的实现
int main() {int a[] = {5,100,32,45,21,67,32,68,41,99,13,71};//首先默认第一个成员和第二个成员就是最大和第二大int max = 0; // ...
- 取出数组第一大和第二大元素
[php] view plaincopy # 取出数组最大的元素 function getMax( $arr ){ if( !is_array($arr) ){ exit('参数必须是数组'); } ...
- selenium定位两个相同id、class的元素的第二个元素
如果遇到多个相同id的按钮,想直接定位到第某一个个.需要加s 本以为可以这样直接调用! cls.driver.find_element(By.ID, "com.qijianbx.app.qj ...
- 如何寻找无序数组中的第K大元素?
如何寻找无序数组中的第K大元素? 有这样一个算法题:有一个无序数组,要求找出数组中的第K大元素.比如给定的无序数组如下所示: 如果k=6,也就是要寻找第6大的元素,很显然,数组中第一大元素是24,第二 ...
- Python 面试题:输入一个数组,输出该数组的第二大的数字
问题: 输入一个数组,输出该数组的第二大的数字,并且编写相关的测试用例 注意: 1.如果list含有非int, float元素需要remove 2.如果list有重复的最大元素,需要自己处理,内置的l ...
最新文章
- python自学_为什么要选择Python怎样系统的自学并快速学习Python
- jzoj6800-NOIP2020.9.19模拟spongebob【枚举】
- 循环神经网络以及 LSTM 及其变体
- SpringBoot(十一)-- 动态数据源
- 二进制位运算中‘1’的个数
- 2008年9月三级网络技术考试试卷 参考答案1
- java 项目开发流程_详解JAVA开发之JAVA项目开发的基本流程
- 搭建一个简单的Windows域环境
- Unity3D自由摄像头视角旋转,平移,缩放
- 每日一句_《临江仙·滚滚长江东逝水》
- API 夺命四连杀:接口如何设计?安全如何保证?签名如何实现?防重如何实现?...
- QQ20岁:20年版本迭代只做一件事情!
- python 数值运算 m op n_测验1 Python基本语法元素 (第1周)
- 知识图谱学习笔记八(知识问答)
- 2021年最适合上班族的25个副业,男女通用!
- 云客Drupal源码分析之节点实体访问控制处理器
- 【IBM官方文档】DB2 SQLSTATE 消息
- Win10 Terminal更换背景图片,设置透明度
- 2022年了,想转行,哪一行最为靠谱
- 计算机发展变化初三英语作文,初三我的变化英语作文
热门文章
- IBM“移动优先”官网正式上线:苹果静候佳音
- pip install deepforest 失败
- 【SQL2008】select TOP (100) PERCENT***********ORDER BY **********
- 工具应用——Chrome浏览器 F12控制台中文改成英文
- android 时钟字体颜色,安卓手机美化之修改状态栏日期时间颜色
- thinkphp 运行机制和优缺点
- 【数据】社区发现数据集
- 哈罗选了个好时点上线顺风车业务,但很可能雷声大雨点小
- win10自动连接WIFI的批处理文件
- Chrome 鼠标左击右击无效解决办法