#include<stdio.h>
#define N 5
void f(int a[],int n,int *l,int *s_l);
int main()
{
int a[N],l,s_l,i;
for(i=0;i<N;i++)
scanf("%d",&*(a+i));
f(a,N,&l,&s_l);
printf("l=%d,s_l=%d\n",l,s_l);
return 0;
}
void f(int a[],int n,int *l,int *s_l)
{
int i;
if(a[0]>a[1])
{*l=a[0];*s_l=a[1];}
else
{*l=a[1];*s_l=a[0];}
for(i=2;i<n;i++)
{
if(a[i]>*l)
{
*s_l=*l;
*l=a[i];
}
else if(a[i]>*s_l)
*s_l=a[i];
}
}
注意如果有元素的值大于*l的话,将*l的原值顺延给*s_l .
在数组中寻找最大和第二大的元素
最新推荐文章于 2023-08-08 14:11:33 发布