7-24 约分最简式(后面做题发现错了一丢丢)
#include<stdio.h>
int main(){
int x,y;
scanf("%d/%d",&x,&y);
for(int i=1;i<y;i++){ //求公共因子
for(int j=1;j<=x;j++){
if(x%j==0&&y%j==0){
x=x/j;
y=y/j;
}
}
}
if(y==1) printf("%d",x);
else printf("%d/%d",x,y);
return 0;
}
7-33 有理数加法
#include<stdio.h>
void easy(int x,int y){
for(int i=1;i<y;i++){
for(int j=1;j<=x;j++){
if(x%j==0&&y%j==0){
x=x/j;
y=y/j;
}
}
}
if(y==1) printf("%d",x);
else printf("%d/%d",x,y);
}
int main(){
int a,b,a1,a2,b1,b2,x,y;
scanf("%d/%d%d/%d",&a1,&b1,&a2,&b2);
if(b1==b2){
a=a1+a2;
b=b1;
easy(a,b);
}
else{
x=a1*b2+a2*b1;
y=b1*b2;
easy(x,y);
}
return 0;
}