求绝对值最大值
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
求n个整数中的绝对值最大的数。
Input
输入数据有2行,第一行为n,第二行是n个整数。
Output
输出n个整数中绝对值最大的数。
Sample Input
5 -1 2 3 4 -5
Sample Output
-5
Hint
Source
//哈希
#include<stdio.h>
#include<math.h>
int c[10101011];
int main()
{
int n, a[10010], i, j ;
memset(a,0,sizeof(a));//初始化数组
memset(c, 0, sizeof(c));//标记数组(正负号)
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] < 0) {
a[i] = abs(a[i]);
c[a[i]]=-1;//标记负数
}
}
for (i = 0; i < n-1; i++) {//冒泡排序
for (j = i+1; j < n; j++) {
if (a[i] > a[j]) {
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
if (c[a[n-1]] < 0) {
a[n - 1] = (-1)*a[n - 1];
}
printf("%d\n", a[n - 1]);
return 0;
}