C趣味程序(二)(06)分数四则运算

文章作者 100test 发表时间 2007:03:10 17:33:07
来源 100Test.Com百考试题网


1.7 分数四则运算
对输入的两个分数进行 、-、*、/四则运算,输出分数结果。
算法分析如下:
对分数b/a与d/c,不管哪一种运算,其运算结果均为y/x形式。对结果y/x进行化简,约去分子分母的公因数:试用i(i=1,...,y)对y,x进行试商,若能同时整除y,x,则y,x同时约去公因数i,最后打印约简的分数。
程序代码如下:
#include
void main()
{
long int a,b,c,d,i,x,y,z.
char op.
printf("两分数b/a,d/c作 ,-,*,/四则运算,结果为分数。\n").
printf("请输入分数运算式。\n").
scanf("%ld/%ld%c%ld/%ld",&.b,&.a,&.op,&.d,&.c).
if(a==0||c==0) {printf("分母为0输入错误!").exit(0).}
if(op== ){y=b*c d*a.x=a*c.} /*运算结果均为y/x*/
if(op==-){y=b*c-d*a,x=a*c.}
if(op==*){y=b*d.x=a*c.}
if(op==/){y=b/c.x=a/d.}
z=x.
if(x>y) z=y.
i=z.
while(i>1) /*y/x分子分母约去公因数*/
{
if(x%i==0&.&.y%i==0){x=x/i.y=y/i.continue.}
i--.
}
printf("%ld/%ld%c%ld/%ld=%ld/%ld.\n",b,a,op,d,c,y,x).
}
程序运行结果如下:



注意:本题要求输出的结果为分数,因而分子y与分母x要根据运算类型作相应的决定与输出。输出前对x,y约去公因数化简是必要的。


相关文章


江西省全国计算机等级考试考点
福建省全国计算机等级考试考点
C趣味程序(二)(06)分数四则运算
全国计算机等级考试二级Access考试-大纲
全国计算机等级考试介绍
全国计算机等级考试特点与持证前景
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛