题目描述
输入一组勾股数 a,b,c(a\neq b\neq c)a,b,c(a=b=c),用分数格式输出其较小锐角的正弦值。(要求约分。)
输入格式
一行,包含三个正整数,即勾股数 a,b,ca,b,c(无大小顺序)。
输出格式
一行,包含一个分数,即较小锐角的正弦值
输入 #1复制
3 5 4输出 #1复制
3/5
今天依旧暴力破解,没有任何技术含量,主要是约分!
#include<stdio.h>
int main()
{
int a[4],i,j,t;
scanf("%d %d %d",&a[0],&a[1],&a[2]);
for(i=0;i<3-1;i++)
{
for(j=0;j<3-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=a[0];i>=2;i--)//约分代码块,从两数最小开始约分,确保得到只有唯一约分后的解答,如果i从2开始可能会得到两个答案
{
if(a[0]%i==0&&a[2]%i==0)
{
a[0]=a[0]/i;
a[2]=a[2]/i;
printf("%d/%d ",a[0],a[2]);
break;
}
}
if(i<2)//判断循环完毕,依旧没有符合if的,作出判断输出
{
printf("%d/%d ",a[0],a[2]);
}
return 0;
}