C语言编写函数的次大值 最大值次大值C语言

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语言如何求次大值

一次就够了

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

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

C语言程序设计问题: 求最大、次大、最小和次小值

int i, n, k1, k2, k3, k4,

max, pmax, min, pmin,

num[ N ], sub[ N ];

scanf ( "%d\n", n );

scanf 函数里不要加' \n ' 和别的一些特殊符号,最好什么都别乱加,直接使用%d %f 等一些格式输入符。

# include stdio.h

# define N 30

int main ( )

{

int i, n, k1, k2, k3, k4,

max, pmax, min, pmin,

num[ N ], sub[ N ];

printf("输入整数的总个数:");

scanf ( "%d", n );

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

{

printf("输入你喜欢的整数和它的序列号: ");

scanf ( "%d%d",num[ i ], sub[ i ] );

}

max = min = pmax = pmin = num[ 0 ];

k1 = k2 = k3 = k4 = sub[ 0 ];

for ( i = 1; i n; i ++ ) {

if ( max = num[ i ] ) { //最大值

max = num[ i ];

k1 = sub[ i ];

}

if ( min =num[ i ] ) { //最小值

min = num[i];

k3 = sub[i];

}

if ( pmax =num[ i ] num[ i ] !=max ) { //次大值

pmax = num[ i ];

k2 = sub[ i ];

}

if ( pmin = num[ i ] num[ i ] !=min ) { //次小值

pmin = num[ i ];

k4 = sub[ i ];

}

}

printf ( "max=%d,maxNum=%d\n pmax=%d,pmaxNum=%d\nmin=%d,minNum=%d \npmin=%d,pminNum=%d\n", max, k1, pmax, k2, min, k3, pmin, k4 );

return 0;

}

求助大神!编一段C语言程序 输入10个整数,寻找其中的次大值

void intput(int *array,int size){

int i=0;

while(isize(scanf("%d",array+i))==1)

i++;

if(i!=size){

printf("input error\n");

exit(-1);

}

}

void output(int *array,int size){

for(int i=0;isize;i++){

if(i%3==0){

printf("\n");

}

printf("%d ",*(array+i));

}

}

int max(int *p, int size){

int *max = p;

int *second = p+1;

if(*max *second){

swap(max,second)

}

for(int i=2;isize;i++){

if(*(p+i)*second){

*second = *(p+i);

}

if(*max *second){

swap(max,second);

}

}

}

void swap(int *p,int *q){

int temp = *p;

*p = *q;

*q = temp;

}

void main(){

int array[10];

intput(array,10);

output(array);

printf("%d\n",max(array,10));

getchar();

}


网站名称:C语言编写函数的次大值 最大值次大值C语言
转载源于:http://ybzwz.com/article/hiejgg.html