c语言函数次大值,c语言中怎样求次大值

C语言如何求次大值

一次就够了

海原网站建设公司创新互联建站,海原网站设计制作,有大型网站制作公司丰富经验。已为海原上1000家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的海原做网站的公司定做!

每次保留2个值,一个最大值,一次次大值。

每次先比较次大值,大就替换,然后次大值和最大值比。

c语言如何求次大值?

没有时间写源程序,说说思想吧

设数组a[2],开始时赋值a[0]=a[1]=0

让a[1]依次和要求次大数的数组中元素比较,如果a[1]小于被比较的元素

{

a[0]=a[1];

a[1]=这个被比较的元素的值;

}

最后输出a[0]就可以了

C语言求最大值 次大值

#include stdio.h

void max(int a[],int n,int *pmax1,int *pmax2)

{

int i;

*pmax1=*pmax2=a[0]; // 初始值为第一个元素

for(i=1;in;i++) //循环整个数组

{

if(a[i]*pmax1) {*pmax2= *pmax1;*pmax1=a[i]; } //如果当前数比最大数大,赋给最大数

else if(a[i]*pmax2) *pmax2=a[i]; //如果没有最大数大,比第二大数大,赋给数

}

}

int main (){

int a[6]={2,4,56,23,45},pmax1,pmax2;

max(a,6,pmax1,pmax2);

printf("max1=%d,max2=%d\n",pmax1,pmax2);

return 0;

}

C程序编写函数,求10个整数的次大值和次小值,这么编写?

用数组的方法就OK了 楼上的方法正确 只是最后printf函数拼错罢了

我完善一下

#include stdio.h

void main()

{

printf("请输入10个整数/n");

int a[10];

int i,j,t;

for(i=0;i10;i++)

scanf("%d",a[i]);

printf("\n");

for(j=0;j9;j++)

for(i=0;i9-j;i++)

if(a[i]a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("输出次小值%d\n输出次大值%d\n",a[2],a[9]);

}


分享文章:c语言函数次大值,c语言中怎样求次大值
地址分享:http://pwwzsj.com/article/hdghio.html