很好奇,为什么用

m = min ( min (a, b) , c) ;
cout << m;

来找对边不行呢,较小锐角的对边不就是三条边中最小的边吗

下面这个是对的

#include <bits/stdc++.h>
using namespace std;

long long a, b, c, n, m, p;

int gcd ( int x, int y)
{
	return y ? gcd( y, x % y) : x;
}
int main ()

{
	cin >> a >> b >> c;
	n = max ( max (a, b) , c);//n 为斜边
	if (n == a) m = min (b, c);
	else if ( n == b) m = min ( a, c);
	else if ( n == c) m = min ( a, b);
	//m = min ( min (a, b) , c) ;//m为对边
	//cout << m;
	p = gcd (m, n);
	n /= p;
	m /= p;
	cout << m << '/' << n << '\n';
	return 0;
}

1 comments

  • 1