为什么1#测试点过不去,求求各位大佬了
查看原帖
为什么1#测试点过不去,求求各位大佬了
420528
AyoEns楼主2020/10/31 14:29
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <iterator>
#include <math.h>
using namespace std;
string kind_of_triangle[3] = {
	"Acute triangle","Right triangle","Obtuse triangle"
};
string special_triangle[2] = {
	"Equilateral triangle","Isosceles triangle"
};

bool can_make_a_triangle(vector<long int>angel);
void which_angle(vector<long int>angel);
void is_a_spcial_triangle(vector<long int>angel);

int main()
{
	long int a, b, c;
	vector<long int>angle_binary;
	cin >> a >> b >> c;
	angle_binary.push_back(a);
	angle_binary.push_back(b);
	angle_binary.push_back(c);
	sort(angle_binary.begin(), angle_binary.end());
	if (can_make_a_triangle(angle_binary))
	{
		which_angle(angle_binary);
		is_a_spcial_triangle(angle_binary);
	}
	else
	{
		cout << "Not triangle" << endl;
	}
	return 0;
}

void which_angle(vector<long int> angel)
{
	long double flag1 = pow(angel[0], 2) + pow(angel[1], 2);
	long double flag2 = pow(angel[2], 2);
	if (flag1 > flag2)
	{
		cout << kind_of_triangle[0] << endl;
	}
	else if (flag1 == flag2)
	{
		cout << kind_of_triangle[1] << endl;
	}
	else
	{
		cout << kind_of_triangle[2] << endl;
	}

}

void is_a_spcial_triangle(vector<long int> angel)
{
	if (angel[0] == angel[1] && angel[1] == angel[2])
	{
		cout << special_triangle[0] << endl;
	
	}
	if(angel[0] == angel[1] || angel[1] == angel[2]|| angel[0] == angel[2])
	{
		cout << special_triangle[1] << endl;
	}
}

bool can_make_a_triangle(vector<long int> angel)
{
	if (angel[0]+angel[1]<=angel[2])
	{
		return 0;
	}
	else
	{
		return 1;
	}
}

2020/10/31 14:29
加载中...