weixin_44209785
helorzze
2018-12-21 20:04
采纳率: 100%
浏览 2.2k

输入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条回答 默认 最新

  • weixin_44210099
    易平凡 2018-12-21 12:41
    已采纳

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

    点赞 1 评论
  • xianfajushi
    智者知已应修善业 2018-12-21 12:37
    for (i = 0; i<10; i++)
        scanf_s("%d", &a[i]); //定义十个变量//
    
    点赞 评论

相关推荐