【问题2】
对于一个点x和集合Y={y1, y2,…,yn},定义点到集合的距离d为 D(x, Y) = min|x-yi|
现给岀点x和集合Y,请计算d(x,Y)。
【输入形式】
输入共三行:
第一行一个正整数n (i≤n≤1000),表示集合Y中元素个数;
第二行n个空格分隔的整数y1,y2,…,yn (-1000≤yi≤1000, i= 1,2,…,n), 表示集合Y中的元素;
第三行一个整数x (-2000≤x≤2000),表示点x。
【输出形式】
输出一行,一个整数表示计算后的结果d(x,Y)
【样例输入】
10
1 33 4 65 6 8 13 21 0 -10
26
【样例输出】
5
【评分标准】
根据输入要求输出指定的结果,提交程序名为:distco
#include<stdio.h>
int main(){
int n,x;
scanf("%d",&n);//Y中元素个数
int y[n];
int min,temp;
for(int i=0;i<n;i++){
int c;
scanf(" %d",&c);
y[i]=c;
}
scanf("%d",&x);
for(int i=0;i<n;i++){
if(y[i]>=x){
temp=y[i]-x;
}else {
temp=x-y[i];
}
if(i==0){
min=temp;
}
if(temp<=min){
min=temp;
}
}
printf("%d",min);
}