求助 84分!看了WA的数据一头雾水
查看原帖
求助 84分!看了WA的数据一头雾水
941753
niuge666楼主2023/4/10 20:09
//思路挺简单的
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int max(int a, int b, int c)//判断谁最大
{
	int max = a;
	if (b > max)
		max = b;
	if (c > max)
		max = c;
	return max;
}
int min(int a, int b, int c)//判断谁最小
{
	int min = a;
	if (b < min)
	{
		min = b;

	}
	if (c < min)
	{
		min = c;
	}
	return min;
}
int medium(int a, int b, int c)//判断谁是中间值
{
	if (a != min(a,b,c) && a != max(a,b,c))
		return a;
	if (b != min(a, b, c) && b != max(a, b, c))
		return b;
	if (c != min(a, b, c) && c != max(a, b, c))
		return c;
        
        //如果是是两个数相等的情况 返回相等的数字
	if (a == max(a, b, c) || a == min(a, b, c))
		return a;
	if (b == max(a, b, c) || b == min(a, b, c))
		return b;
	if (c == max(a, b, c) || c == min(a, b, c))
		return c;
}
void  triangle(int a, int b, int c)
{
	
	if (min(a, b, c) + medium(a, b, c) > max(a, b, c))
	{
		
	if (min(a, b, c) * min(a, b, c) + medium(a, b, c) * medium(a, b, c) == max(a, b, c) * max(a, b, c))
	{//判断是否为直角三角形
		printf("Right triangle\n");
		
	}
	if (min(a, b, c) * min(a, b, c) + medium(a, b, c) * medium(a, b, c) > max(a, b, c) * max(a, b, c))
    //判断是否为锐角三角形
		printf("Acute triangle\n");
	if (min(a, b, c) * min(a, b, c) + medium(a, b, c) * medium(a, b, c) < max(a, b, c) * max(a, b, c))//判断是否为钝角三角形
		printf("Obtuse triangle\n");
        //以下依次类推…………
	if (min(a, b, c) == medium(a, b, c) || max(a, b, c) == medium(a, b, c))
		printf("Isosceles triangle\n");
	if (a == b && b == c)
		printf("Equilateral triangle\n");
	}

	else
		printf("Not triangle");
}

int main()
{
	int a, b, c;
	scanf("%d %d %d", &a, &b, &c);
	triangle(a, b, c);
	return 0;
}

//注:WA数据 999 1 1
//输出Not triangle
//这不对吗?一头雾水 求指教
2023/4/10 20:09
加载中...