精确4位为啥输出了5位
查看原帖
精确4位为啥输出了5位
728949
lucas_777楼主2023/10/3 17:26
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int a[10005],b[10005];
int n;
double sum = 100000000;
int main(){
	cin >> n;
	for(int i = 1;i <= n;i++){
		cin >> a[i] >> b[i];
		for(int j = i - 1;j >= 1;j--){
			int a2 = (a[i] - a[j]) * (a[i] - a[j]),b2 = (b[i] - b[j]) * (b[i] - b[j]);
			if(sqrt(a2 + b2) < sum){
				sum = sqrt(a2 + b2);
			}
		}
	}
		
	cout << printf("%.4lf",sum);
	return 0;
}

输入: 3 1 1 1 2 2 2 输出 1.00006

2023/10/3 17:26
加载中...