1. 程式人生 > >PAT-乙-1082 1082 射擊比賽 (20 分)

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;
}

註解

這種不需儲存,就能找到最大最小值的方法,是很常用的。

結果

在這裡插入圖片描述