找出数组中第二大数
2011-09-07 12:02
351 查看
由寻找数组中最大值和最小值方法得到提示,每次比较两个数,将胜者同MAX比较,败者同MIN比较。
代码如下:
代码如下:
#include "stdio.h" #include "stdlib.h" #define LEN(arr) sizeof(arr)/sizeof((arr)[0]) struct Result{ int Max; int SecondMax; }; void GetSecondMax(int* arr, int len, Result* rlt) { for(int i=0; i< len-1; i=i+2) { if(NULL==arr[i+1]) { if(arr[i]>rlt->Max) rlt->Max=arr[i]; else if(arr[i]>rlt->SecondMax) rlt->SecondMax=arr[i]; } if(arr[i]>arr[i+1]) { if(arr[i]>rlt->Max) rlt->Max=arr[i]; if(arr[i+1]>rlt->SecondMax) rlt->SecondMax=arr[i+1]; } if(arr[i]<arr[i+1]) { if(arr[i+1]>rlt->Max) rlt->Max=arr[i+1]; if(arr[i]>rlt->SecondMax) rlt->SecondMax=arr[i]; } } } int main() { int test[10]={3,2,4,1,5,2,7,9,0}; Result* rlt = (Result*)malloc(sizeof(Result)); int len=LEN(test); GetSecondMax(test, len, rlt); printf("Max=%d\nMin=%d\n", rlt->Max, rlt->SecondMax); getchar(); }
相关文章推荐
- 写一个函数,找出一个整数数组中的第二大数
- [基础题]1.快速找出一个数组中的最大数、第二大数。
- Linux_C练习:快速找出一个数组中的最大数、第二大数。(笔试题)
- 快速找出一个数组中的最大数、第二大数。
- C++通过自定义函数找出一个整数数组中第二大数的方法
- 快速找出数组中的最大数和第二大数
- 找出一个整数数组中的第二大数
- 找出整数数组中第二大数
- 找出数组中第二大数
- 一次遍历找出整型数组中第二大数
- 分治法找出数组中第二大数
- 快速找出一个数组中的最大数和第二大数
- 如何快速找出一个数组中最大数和第二大数
- 如何找出一个数组中第二大的数
- .NET中,写一个函数找出一个整数数组中,第二大的数(整数数组作为函数参数)
- 找出数组中第二大数
- 求数组第二小的数和第二大数的下标
- 快速从数组中找出最大数和第二大的数
- C语言求数组的第二大数
- 寻找数组中的第二大数