题目详情
给你一个数组A[n],请你计算出ans=min(|A[i]+A[j]|)(0<=i,j
例如:A={1, 4, -3},
则:
|A[0] + A[0]| = |1 + 1| = 2.
|A[0] + A[1]| = |1 + 4| = 5.
|A[0] + A[2]| = |1 + (-3)| = 2.
|A[1] + A[1]| = |4 + 4| = 8.
|A[1] + A[2]| = |4 + (-3)| = 1.
|A[2] + A[2]| = |(-3) + (-3)| = 6.
所以ans=1.
输入描述:
有多组测数数据,每组数据有两行,第一行包含一个正整数n(0
输入以文件结束。
输出描述:
对于每组数据,输出相应的答案。
答题说明
输入样例:
3
1 4 -3
1
2
3
-1 -2 -5
3
1 2 3
2
0 5
输出样例:
1
4
2
2
0
我的代码:
#include
#include
int main()
{
int i,j,n,min=0;
while(scanf("%d",&n)==1){
int A[n];
/*数组初始化*/
for(i=0;i<n;i++){
scanf("%d",A[i]);
}
/*求最小的每俩元素之和的绝对值*/
for(j=0;j<n;j++){
for(i=0;i<n;i++){
if(abs(A[i]+A[j])<min)
min=abs(A[i]+A[j]);
}
}
printf("%d",min);
}
return 0;
}
结果失败了,求指点!