参考问题:PAT甲级 1081 1088
网上查阅了一套流程,不出意外的话可以囊括所有的输出格式
首先就是输入,要用scanf输入,因为要除去/
然后就是输出
输出带分数
if(sa*sb<0){
sa=abs(sa);
sb=abs(sb)
cout<<"-";
}
if(sb==0){
cout<<"Inf"
return 0;
}
if(sa==0){
cout<<"0";
return 0;
}
if(sb==1){
cout<<sa;
return 0;
}
if(sa>sb){
cout<<sa/sb<<" "<<sa%sb<<"/"<<sb;
}
else{
cout<<sa<<"/"<<sb;
}
首先判断是不是负数,是的话先输出负号在全部去绝对值
在判断如果分母为零,不存在
在判断分子为零输出零
在判断分母为1输出分子
在判断如果分子>分母输出
最后其他情况输出
不用怕出现2/2 3/3这种情况,因为实在化简到最简分数的前提下进行的。