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; }

 

posted @ 2019-08-06 21:03  祺祥  阅读(173)  评论(0编辑  收藏  举报