CCF认证 201712-01 最小差值

问题描述

  给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。

输入格式

  输入第一行包含一个整数n
  第二行包含n个正整数,相邻整数之间使用一个空格分隔。

输出格式

  输出一个整数,表示答案。

样例输入

5
1 5 4 8 20

样例输出

1

样例说明

  相差最小的两个数是5和4,它们之间的差值是1。

扫描二维码关注公众号,回复: 5465467 查看本文章

样例输入

5
9 3 6 1 3

样例输出

0

代码

#include<stdio.h>
#define NUM 30
int main()
{
    int n,i,j,min;
    scanf("%d",&n);
    int a[n];
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    min=abs(a[1]-a[0]);
    for(i=0;i<n;i++){
        for(j=i+1;j<n;j++){
            if(abs(a[j]-a[i])<min)
                min=abs(a[j]-a[i]);
            if(min==0)
                break;
        }
    }
    printf("%d",min);
    return 0;
}

 

猜你喜欢

转载自blog.csdn.net/qq_38290604/article/details/88353795
今日推荐