主打一个简洁。通俗易懂。思路如下:
#include<iostream>
#include<string>
using namespace std;
bool zuijian(int a,int b){
for(int i=2;i<=a;i++){
if(a%i==0&&b%i==0) return false;
}
return true;
}
int main(){
int a,b,c,d,k;char s;int x=0;
cin>>a>>s>>b>>c>>s>>d>>k;
float f1=a*1.0*k/b;float f2=c*1.0*k/d;
float max=f1>f2?f1:f2;float min=f1<f2?f1:f2;
float i=(int)min+1;
while(i>=min&&i<max){
if(zuijian((int)i,k)&&x==0){cout<<(int)i<<'/'<<k;x=1;}
else if(zuijian((int)i,k)&&x==1){cout<<' '<<(int)i<<'/'<<k;}
i++;
}
return 0;
}