示例 1:
比如[1,3,4,11,8] 那么输出的结果为1 ,因为4-3 的差值为1,是最小的。
#include "stdio.h"
#define N 5
int main(int argc,char *argv[]){
int a[N]={1,3,4,11,8},i,j,k,t;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++){
if(t=a[i]-a[j],t<0)
t=-t;
if(k>t || i==0)
k=t;
}
printf("The result is %d\n",k);
return 0;
}
扩展资料:
数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。一个数组中的所有元素具有相同的数据类型。
数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。数组中的元素存储在一个连续性的内存块中,并通过索引来访问。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-04-21
#include "stdio.h"
#define N 5
int main(int argc,char *argv[]){
int a[N]={1,3,4,11,8},i,j,k,t;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++){
if(t=a[i]-a[j],t<0)
t=-t;
if(k>t || i==0)
k=t;
}
printf("The result is %d\n",k);
return 0;
}
#define N 5
int main(int argc,char *argv[]){
int a[N]={1,3,4,11,8},i,j,k,t;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++){
if(t=a[i]-a[j],t<0)
t=-t;
if(k>t || i==0)
k=t;
}
printf("The result is %d\n",k);
return 0;
}
运行结果:
第2个回答 2019-04-19
排序后,从前向后遍历,比较a[i+1]-a[i]的大小,取最小值即可
第3个回答 2019-04-19
用一个函数很好完成的