求一组数据中最小的差值,即遍历两次数组即可,第二轮循环在第一轮的下一个元素开始,并求两个值之间差的绝对值,若小于min就将其赋给min,这样循环过后min的值一定是数据间最小的差值。
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int m,min=10000,i,a[1000],j,temp;
cin>>m;
for(i=0;i<m;i++){
cin>>a[i];
}
for(i=0;i<m-1;i++){
for(j=i+1;j<m;j++){
temp=abs(a[i]-a[j]);
if(temp<min){
min=temp;
}
}
}
cout<<min;
return 0;
}