C/C++ codeint zg(int x, int y) //求最大公约数
{
int temp = x < y ? x : y;
int flag;
for (int i = 1; i <= temp; i++)
{
if (x%i == 0 && y%i == 0)
{
flag = i;
}
}
return flag;
}
//a 第一个数的分子
//b 第一个数的分母
//c 第二个数的分子
//d 第二个数的分母
int js (int a, int b, int c, int d, char ch)
{
int x, y , m, n;
int iResult;
if (ch == '+')
{
x = a * d;
y = b * d;
m = c * b;
n = d * b;
iResult = (x + m)/y;
int i = zg(x + m, y);
printf("%d/%d", (x + m)/i, y/i);
}
else if (ch == '-')
{
x = a * d;
y = b * d;
m = c * b;
n = d * b;
iResult = (x - m)/y;
int i = zg(x - m > 0 ? x - m : m - x, y);
printf("%d/%d", (x - m)/i, y/i);
}
else if (ch == '*')
{
iResult = (a * c)/(b * d);
int i = zg(a * c, b * d);
printf("%d/%d", (a * c)/i, (b * d)/i);
}
else if (ch == '/')
{
iResult = (a * d)/(b * c);
int i = zg(a * d, b * c);
printf("%d/%d", (a * d)/i, (b * c)/i);
}
return 0;
}