找出数组中第二大的数
2015-10-11 12:22
330 查看
题目:写一个函数找出一个整数数组中,第二大的数。
[cpp] view
plaincopyprint?
#include <stdio.h>
//初始化最大值为a[0],次大值为a[1],遍历一次,每次比较并更新最大值和次大值,最后就可以得到次大值。
int findsecondmaxvalue(int *a,int size)
{
int max = a[0]; //最大值
int second = a[1]; //次大值
for(int i = 0;i < size;i++)
{
if(a[i] > max) //更新最大值和次大值
{
second = max;
max = a[i];
}
else if(a[i] < max && a[i] > second) //更新次大值
{
second = a[i];
}
}
return second;
}
int main(void)
{
int a[] = {22,222,76,26,87,99};
printf("second value = %d\n",findsecondmaxvalue(a,sizeof(a)/sizeof(a[0])));
return 0;
}
执行结果:
本文部分内容摘自:/article/1422851.html
[cpp] view
plaincopyprint?
#include <stdio.h>
//初始化最大值为a[0],次大值为a[1],遍历一次,每次比较并更新最大值和次大值,最后就可以得到次大值。
int findsecondmaxvalue(int *a,int size)
{
int max = a[0]; //最大值
int second = a[1]; //次大值
for(int i = 0;i < size;i++)
{
if(a[i] > max) //更新最大值和次大值
{
second = max;
max = a[i];
}
else if(a[i] < max && a[i] > second) //更新次大值
{
second = a[i];
}
}
return second;
}
int main(void)
{
int a[] = {22,222,76,26,87,99};
printf("second value = %d\n",findsecondmaxvalue(a,sizeof(a)/sizeof(a[0])));
return 0;
}
执行结果:
本文部分内容摘自:/article/1422851.html
相关文章推荐
- 【数论】[CQBZOJ2935]病毒分裂
- UE4蓝图案例:制作实时反射镜面材质
- 黑马程序员--NSString
- mac 部署 apache
- 发现一些个人开发者应用
- 多线程和多进程模型
- HDU 1541 Stars 【线段树】
- MD5实现小应用
- 解决Qt 运行错误 错误代码 : code -1073741571
- 黑马程序员——Java单例设计模式
- 黑马程序员--OC的Foundation-结构体
- Writing Fast Matlab code 6-7
- LFI(本地文件包含)获取Webshell
- 舍本求末的运维自动化技术热潮
- LFI(本地文件包含)获取Webshell
- 黑马程序员--NSMutableArray的使用
- 避难向导
- collectionView怎么添加头视图
- TomCat服务器搭建以及JavaWeb入门小
- 《剑指Offer》面试题:超过数组长度的一半的数