题目:我们知道分数由分子和分母组成,所以给定你两个整数(可负,可正),第一个代表分子,第二个代表分母。你能不能把他们化为最简单的形式呢?例如: 输入: -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\n",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\n",flag); if(flag2 == 1){ printf(" -%d/%d\n",a/flag,b/flag); }else{ printf(" %d/%d\n",a/flag,b/flag); } }
时间: 2024-10-11 21:39:42