Problem D: 谁和我比较接近?
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 872 Solved: 417
[Submit][Status]
Description
给出11个整数,输出第11个数与前面10个数中的哪一个最接近。所谓的最接近是指两个A、B的差最小。
Input
输入11个整数。
Output
对于输入的前10个整数,输出与第11个数最接近的第1个数(从左边数)。
Sample Input
1 2 3 4 5 7 8 9 10 11 6
Sample Output
5
HINT
提示:A、B最接近,可以通过它们差的绝对值val来衡量:val越小,A与B越接近。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a[10];
int i,j,t,b;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
scanf("%d",&b);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if((abs(a[i]-b))>(abs(a[i+1]-b)))
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("%d",a[0]);
return 0;
}
;