输入10个数,找出相差最小的两个数,并输出最小间隔。大神帮忙看看哪里有错,输出的最小差值总是0

#include
#include
int main()
{
int n,i,a[10],s,j,r,g,h;
printf("输入十个数:\n");
for(i=0;i<10;i++)
scanf("%d",&n); //定义十个变量//
s=abs(a[0]-a[1]);
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)

{
r=abs(a[i]-a[j]); //算任意两个数之间的差值//
if(r<=s)
{
s=r; //找出最小的差值//
g=a[i];

h=a[j]; //找出相差最小的两个数//
}
}
printf("%d和%d差值最小,为:%d\n",g,h,s);
return 0;

}


2个回答

scanf("%d",&n); //定义十个变量//
这句改成scanf("%d",&a[i]);

for (i = 0; i<10; i++)
    scanf_s("%d", &a[i]); //定义十个变量//
立即提问
相关内容推荐