PAT-乙-1082 1082 射击比赛 (20 分)
代码
#include <stdio.h>
#include <math.h>
int main() {
double min = 10000;
double max = -1;
int N;
scanf("%d", &N);
int minId;
int maxId;
for(int i=0; i<N; i++) {
int id;
double x, y;
scanf("%d %lf %lf", &id, &x, &y);
double dis = sqrt(x*x+y*y);
if(dis>max){
maxId = id;
max = dis;
}
if(dis<min){
minId = id;
min = dis;
}
}
printf("%04d %04d\n", minId, maxId);
return 0;
}
注解
这种不需存储,就能找到最大最小值的方法,是很常用的。