目录
1.题目要求
2.题目解读
首先需要了解三角函数,有困惑的可以一键直达~三角函数(数学名词)_百度百科
想强调两个点,
1.如何对a,b,c进行排序
在c语言中可以用qsort函数进行排序,详解如下:
2.如何约分
约分的核心在于寻找两个数的最大公约数,这里提供两种方式:
1.枚举法
#include<stdio.h>
int main()
{
int a,b;
int min;
scanf("%d %d",&a,&b);
if(a<b){
min=a;
}else{
min=b;
}
int ret=0;
int i;
for(i=1;i<min;i++){
if(a%i==0) {
if(b%i==0){
ret=i;
}
}
}
printf("%d和%d的最大公约数是%d\n",a,b,ret);
return 0;
}
2.辗转相除法(推荐)
#include<stdio.h>
int main()
{
int a,b;
int t;
scanf("%d %d",&a,&b);
while(b!=0){
t=a%b;
a=b;
b=t;
}
printf("最大公约数是%d\n",a);
return 0;
}
3.代码实现
#include<stdio.h>
#include<stdlib.h>
int compare(const void*a,const void*b){
return(*(int*)a-*(int*)b);
}
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
//排序
int sides[3]={a,b,c};
qsort(sides,3,sizeof(int),compare);
a=sides[0];
b=sides[1];
c=sides[2];
//约分
int d=a;
int e=c;
int t;
while(c!=0){
t=a%c;
a=c;
c=t;
}
d=d/a;
e=e/a;
printf("%d/%d",d,e);
return 0;
}
***新人博主创作不易,希望多多点赞关注呀~