65,187
社区成员




int main() {
int n, i, j, tmp, min1=0x7FFFFFFF, min2=0x7FFFFFFF, *a;
scanf("%d", &n);
a = (int*)malloc(sizeof(int)*n);
for(i=0; i<n; i++) scanf("%d", &a[i]);
for(i=0; i<n-1; i++) {
for(j=i+1; j<n; j++) {
tmp = abs(a[i]-a[j]);
if (tmp<min2) min2=tmp; //如果差小于第二小,则保存为第二小
if (min2<min1) { //如果第二小小于第一小,则互相交换(也就是第一小始终保持最小)
tmp = min2;
min2 = min1;
min1 = tmp;
}
}
}
printf("第一小: %d, 第二小: %d\n", min1, min2);
free(a);
return 0;
}