题目: 输入一些数字,求哪两个数最接近?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXN 99
#define INF 1000000000
int num[MAXN];
int nun[MAXN];
int sort_function(const void *a, const void *b)
{
//又小到大
return *(int *)a - *(int *)b;
//由大到小
//return *(int *)b - *(int *)b;
}
int main(void)
{
int n = 0, a, i;
while(scanf("%d", &a) == 1)
{
num[n++] = a;
}
qsort(num, n, sizeof(int), sort_function);
for(i = 1; i<n; i++)
{
if(num[i-1]==num[i])
{
printf("%d %d\n", num[i], num[i-1]);
printf("\n");
}
else
{
nun[i-1]=num[i]-num[i-1];
}
}
int min = INF;
for(i = 0; i<n-1; i++)
{
if(nun[i]<min)
min = nun[i];
printf("%d ", nun[i]);
}
printf("\n");
for(i = 0; i<n-1; i++)
{
if(min == nun[i])
printf("%d %d\n", num[i], num[i+1]);
}
printf("\n");
return 0;
}