题目:
我们知道分数由分子和分母组成,所以给定你两个整数(可负,可正),第一个代表分子,第二个代表分母。你能不能把他们化为最简单的形式呢?
例如: 输入: -4 8 ; 输出:-1/2
void main(){
int a,b;
int i=1;
int flag=i;//最大公约数
int flag2=0;//a,b中负号的个数
scanf("%d %d",&a,&b);
if(b == 0){return;}//分母不能为0
if(a == 0){//分子为0时,结果是0
printf("%d/%d = %d
",a,b,0);
return ;
}
if(a<0){
flag2++;
a = -a;
}
if(b<0){
flag2++;
b = -b;
}
while( i <= (a>b?b:a) ){
if(a%i==0 && b%i==0){
flag = i;//找到能被a,b整除的数
}
++i;
}
printf("最大公约数是:%d
",flag);
if(flag2 == 1){
printf(" -%d/%d
",a/flag,b/flag);
}else{
printf(" %d/%d
",a/flag,b/flag);
}
}