C语言题:给定一个整型的数组,找出里面两个数最小的差值是多少

2025-03-04 09:16:02
推荐回答(4个)
回答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

        for(j=i+1;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的第二个元素,以此类推。数组中的元素存储在一个连续性的内存块中,并通过索引来访问。

回答2:

#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 for(j=i+1;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;
}

运行结果:

回答3:

排序后,从前向后遍历,比较a[i+1]-a[i]的大小,取最小值即可

回答4:

用一个函数很好完成的