题目内容: 设计算法找出整数数组a[n](n<=50)中相差最小的两个元素(称为最接近数)的差。
输入格式: 第一行为数组大小n,第二行为n个数组元素,元素之间用空格分开
输出格式: 最接近数的差
输入样例:
5
65 38 26 75 40
输出样例:
2
1 #include <iostream> 2 using namespace std; 3 int main() { 4 int a[10], n, i, j, k, temp; 5 cin >> n; 6 for (i = 0; i < n; i++) cin >> a[i]; 7 int min, dif; 8 for (i = 0; i < n-1; i++) { 9 min = a[i]; 10 k = i; 11 for (j = i + 1; j < n; j++) { 12 if (min > a[j]) { 13 min = a[j]; 14 k = j; 15 } 16 } 17 if (k != i) { 18 temp = a[i]; 19 a[i] = a[k]; 20 a[k] = temp; 21 } 22 } 23 min = a[1] - a[0]; 24 for (i = 1; i < n - 1; i++) { 25 dif = a[i + 1] - a[i]; 26 if (min > dif) min = dif; 27 } 28 cout << min; 29 return 0; 30 }
交mocc的时候把输入语句和注释都删掉了,凑合看看