csp 201712-1 最小差值
//得分90 #include<iostream> using namespace std; int main(){ int n; cin>>n; int* a=new int[n]; for(int i=0;i<n;i++){ cin>>a[i]; } for(int j=n-1;j>1;j--){//循环控制错了,要到j>0 for(int k=0;k<j;k++){ if(a[k]>a[k+1]){ int temp=a[k]; a[k]=a[k+1]; a[k+1]=temp; } } } int min=INT_MAX; for(int z=0;z<n-1;z++){ if(a[z+1]-a[z]<min) min=a[z+1]-a[z]; } cout<<min<<endl; return 0; }
//得分100
#include<iostream> #include<cmath> using namespace std; int main(){ int n; cin>>n; int* a=new int[n]; for(int i=0;i<n;i++){ cin>>a[i]; } int min=10001; for(int j=0;j<n-1;j++){ for(int k=j+1;k<n;k++){//莫忘k=j+1加一加一!!!!! if(abs(a[j]-a[k])<min) min=abs(a[j]-a[k]); } } cout<<min<<endl; return 0; }