代码如下:
#include <iostream> #include <algorithm>//sort()头文件 using namespace std; #define N 100001 bool cmp(int x,int y){ return x<y; } int main(){ int n;cin>>n; //n个数 int num[N]; for(int i=0;i<n;i++){//输入 cin>>num[i]; } sort(num,num+n,cmp);//从小到大排序 int min=10000;//记录最小差值,初始值赋值最大 题中:每个给定的整数都是不超过10000的正整数。 for(int i=0;i<n-1;i++){ int a=num[i]-num[i+1];//num[0]-num[1],num[1]-num[2]……num[n-2]-num[n-1] if(a<0) a=(-1)*a; //若差值为负数,取正 if(a<min) min=a; //此次差值小于最小差值,则更新最小差值 } cout<<min<<endl; return 0; }
题目如下:
编辑