题目:D:\hexo\heo\source_posts\练习题\牛客\pic-牛客\1.差值.png
代码:

include

include

include

using namespace std;

int main(){
int n;
int c = 1000000;
cin>>n; //输入战士数量
int zl[n - 1];
for(int i = 0; i < n; i++){
cin>>zl[i];
} //输入战力
sort(zl, zl + n); //知识点1
for(int i = 0; i < n - 1; i++){
c = abs(zl[i] - zl[i + 1]) < c ? abs(zl[i] - zl[i + 1]) : c; //知识点2
if(c == 0) break;
}
cout<<c;
return 0;
}

知识点:
1.排序c++ sort()
用法:sort(begin, end, cmp)
begin为指向待sort()的数组的第一个元素的指针
end为指向待sort()的数组的最后一个元素的下一个位置的指针
cmp参数为排序准则,cmp参数可以不写,如果不写的话,默认从小到大进行排序。如果我们想从大到小排序可以将cmp参数写为greater()就是对int数组进行排序,当然<>中我们也可以写double、long、float等等
eg:sort(num,num+10,greater());//大到小
sort(zl, zl + n);一般情况,数组大小为多少就加多少,比如zl[5],则sort(zl,zl + 5)
头文件:#include

2.绝对值
C++中不同的数据类型需要使用不同的绝对值函数:
对于整型(int),使用abs()函数。
对于复数类型(complex),使用cabs()函数来获取复数的模。
对于双精度浮点型(double),使用fabs()函数。
对于长整型(long),使用labs()函数。
头文件:C++ #include C #include