金融公司网站制作免费建站哪个网站最好
输入含有两个分数的表达式求出其结果以分数形式表示
解决思路:将两个分数通分后运算并将其结果约分输出
有错误欢迎指出
C代码如下:
#include <stdio.h>
int n1,n2;//定义全局变量n1、n2分别存放分子和分母
int main()
{void cal(int a,int b,int c,int d,char ch);//cal函数计算出分数运算后的结果,未约分 void fun();//用来对n1和n2进行约分 int a,b,c,d;char ch;printf("请输入表达式:");scanf("%ld/%ld%c%ld/%ld",&a,&b,&ch,&c,&d);cal(a,b,c,d,ch);//计算出还未约分的分子分母 fun();// 计算出约分后的分子分母 printf("%ld/%ld%c%ld/%ld=%ld/%ld\n",a,b,ch,c,d,n1,n2);return 0;
}
void cal(int a,int b,int c,int d,char ch)
{switch(ch){case'+':n1=a*d+b*c;n2=b*d;break;case'-':n1=a*d-b*c;n2=b*d;break;case'*':n1=a*c;n2=b*d;break;case'/':n1=a*d;n2=b*c;break;default:printf("Error!\n");}
}
void fun()
{for(int i=2;i<=n1 && i<=n2;i++)while(n1%i==0 && n2%i==0){n1=n1/i;n2=n2/i;}
}