要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。

主要思想是:现将五个人的身高用冒泡排序法进行排序,将相邻的2个身高做差,选择差值交小的那一组


# include < stdio.h >

# define n 5
int main ()
{

int i ,a[n];
int j , tmp;
int tmp1, num1 , num2 , min;
for ( i = 0; i < n; i++ )
scanf ( " %d" , &a[ i ] );
for ( i = 0; i < n-1 ; i++ )
for ( j = 0 ; j< n-1 - i ; j++)
{
if ( a[ j ] > a[ j+1 ] )
{
tmp = a[ j ];
a[ j ] = a[ j + 1 ];
a[ j + 1 ] = tmp;
}


}
//for ( i =0 ; i < n; i ++ )
// printf ( "%d " , a[i]);
// printf ("\n");
min = a[1] - a[0];
num1 = a[ 1 ];
num2 = a[ 0 ];
for ( i = 1; i < n - 1; i++)
{
tmp1 = a[ i+1 ] - a[ i ];
if ( min > tmp1 ) 
{
min = tmp1;
num1 = a[ i+1 ];
num2 = a[ i ];
}
if ( min == tmp1 )
{
    num1 = a[ i+1 ];
num2 = a[ i];
}
}
//printf ( "%d\n" , min);
printf ( "%d %d\n" , num1 , num2 );
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值