C语言不知道为什么做不到约分
查看原帖
C语言不知道为什么做不到约分
593001
Langrange2021楼主2022/5/28 17:50
#include <stdio.h>
int main()
{
	int a,  b, c, n,max=1;
	scanf("%d %d %d", &a, &b, &c);
	if (a > b)
	{
		if (b > c)
		{
			for (n = 1; n <= c; n++)
			{
				if (a % n == 0 && b % n == 0 && c % n == 0)
				{
					max = n;
				}
				n++;
			}
		}
		else
		{
			for (n = 1; n <= b; n++)
			{
				if (a % n == 0 && b % n == 0 && c % n == 0)
				{
					max = n;
				}
				n++;
			}
		}
	}
	else
	{
		if (a > c)
		{
			for (n = 1; n <= c; n++)
			{
				if (a % n == 0 && b % n == 0 && c % n == 0)
				{
					max = n;
				}
				n++;
			}
		}
		else
		{
			for (n = 1; n <= a; n++)
			{
				if (a % n == 0 && b % n == 0 && c % n == 0)
				{
					max = n;
				}
				n++;
			}
		}
	}
	if (a * a + b * b == c * c)
	{
		if (a > b)
		{
			printf("%d/%d", b/max, c/max);
		}
		else
		{
			printf("%d/%d", a/max, c/max);
		}
	}
	else if (a * a + c * c == b * b)
	{
		if (a > c)
		{
			printf("%d/%d", c/max, b/max);
		}
		else
		{
			printf("%d/%d", a/max, b/max);
		}
	}
	else if (b * b + c * c == a * a)
	{
		if (b > c)
		{
			printf("%d/%d", c/max, a/max);
		}
		else
		{
			printf("%d/%d", b/max, a/max);
		}
	}
	return 0;
}
2022/5/28 17:50
加载中...