您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  C趣味程序(二)(06)分数四则运算 【注册男护士专用博客】          

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

www.nanhushi.com     佚名   不详 

1.7 分数四则运算
    对输入的两个分数进行+、-、*、/四则运算,输出分数结果。
算法分析如下:
    对分数b/a与d/c,不管哪一种运算,其运算结果均为y/x形式。对结果y/x进行化简,约去分子分母的公因数:试用i(i=1,...,y)对y,x进行试商,若能同时整除y,x,则y,x同时约去公因数i,最后打印约简的分数。
程序代码如下:
#include<stdio.h>
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约去公因数化简是必要的。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目