求五个数中次大数c语言

Python07

求五个数中次大数c语言,第1张

#include<stdio.h>

int max1(int a[5])

{ int max=0,i

max=a[0]

for(i=0i<5i++)

if(max<a[i])

max=a[i]

return max

}

int main()

{ int MAX=0,n=0,i

int a[5]={89,56,45,123,78}

MAX=max1(a)

for(i=0i<5i++)

if(MAX==a[i])

a[i]=0

MAX=max1(a)

printf("次大数为%d\n",MAX)

return 0

}

方法是先求最大数 然后把最大数去掉 再求一次最大数 就出来啦

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 = 0i <ni ++ )

{

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

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

}

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

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

for ( i = 1i <ni ++ ) {

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

}