题目描述:
给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。
输入格式:
输入第一行包含一个整数n。
第二行包含n个正整数,相邻整数之间使用一个空格分隔。
输出格式:
输出一个整数,表示答案。
样例输入:
5
1 5 4 8 20
样例输出:
1
代码如下:
#include<stdio.h>
int main(void){
int n;
scanf("%d",&n);
int i,j,temp;
int array[n];
for(i=0;i<n;i++){
scanf("%d",&array[i]);
}
int min=array[1]-array[0];//先计算其中一个最小值 进行比较
if(min<0){
min=-min;
}
for(i=0;i<n-1;i++){//从前往后依次进行遍历
for(j=i+1;j<n;j++){
temp=array[j]-array[i];
if(temp<0){//为负数求绝对值
temp=-temp;
}
if(min>temp){
min=temp;
}
}
}
printf("%d",min);
return 0;
}