2、最接近数问题:
题目内容:
设计算法找出整数数组a[n](n<=50)中相差最小的两个元素(称为最接近数)的差。
输入格式:
第一行为数组大小n,第二行为n个数组元素,元素之间用空格分开
输出格式:
最接近数的差
输入样例:
5
65 38 26 75 40
输出样例:
2
#include <stdio.h>
#include <math.h>
#define MAX 50
int main() {
int n,i = 0;
int a[MAX];
int x,y;
scanf("%d",&n);
int b = n;
while(n--) {
scanf("%d",&a[i]);
i ++;
}
int dvalue[MAX][MAX];
for( x = 0; x < b; x ++) {
for( y = 0; y < b; y++) {
dvalue[x][y] = abs(a[x]-a[y]);
}
}
int min = dvalue[0][1];
for( x = 0; x < b; x ++) {
for( y = 0; y < b; y++) {
if( x == y)
continue;
if( dvalue[x][y] < min) {
min = dvalue[x][y];
}
}
}
printf("%d\n",min);
return 0;
}