| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 712 人关注过本帖
标题:在程序中镶嵌了个约分的循环,求解为什么不起作用
只看楼主 加入收藏
gwz0012000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-3-7
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
在程序中镶嵌了个约分的循环,求解为什么不起作用
程序代码:
#include <stdio.h>
main()
{

 int a,b,e,f,h,l,m,n,o;

 char c,d,g;

 scanf("%d",&a);

 scanf("%c",&c);

 scanf("%d",&b);

 scanf(" %c ",&d);

 scanf("%d",&e);

 scanf("%c",&g);

 scanf("%d",&f);

 if(d=='+')

 {l=b*f;

 h=e*b+a*f;

 if(h==0)

 printf("%d/%d + %d/%d = 0\n",a,b,e,f);

 else

 {for(o=2;o<=5;o++)
{if(a%o==0&&b%o==0)
{
h=h/o;
l=l/o;
}}

 printf("%d/%d + %d/%d = %d/%d\n",a,b,e,f,h,l);

 }}

 else if(d=='*')

 {l=a*e;

 h=b*f;

 if(l==0)

 {printf("%d/%d * %d/%d = 0\n",a,b,e,f);

 }

 else

 {for(o=2;o<=5;o++)

 {if(a%o==0&&b%o==0)
{
l=l/o;
h=h/o;
}}
}
printf("%d/%d * %d/%d = %d/%d\n",a,b,e,f,l,h);
}

 else if(d=='-')

 {

 l=b*f;

 h=a*f-e*b;

 if(h==0)

 {printf("%d/%d - %d/%d = 0\n",a,b,e,f);
}

 else

 {for(o=2;o<=5;o++)
if(a%o==0&&b%o==0)
{
h=h/o;
l=l/o;
}

 printf("%d/%d - %d/%d = %d/%d\n",a,b,e,f,h,l);   

 }}

 else if(d=='/')

 {

 l=a*f;

 h=b*e;

 if(l==0)

 printf("%d/%d / %d/%d = 0\n",a,b,e,f);

 else

 {for(o=2;o<=5;o++)
if(a%o==0&&b%o==0)
{
h=h/o;
l=l/o;
}

 printf("%d/%d / %d/%d = %d/%d\n",a,b,e,f,l,h);

 }

 }

 }


[ 本帖最后由 gwz0012000 于 2011-3-16 20:32 编辑 ]
搜索更多相关主题的帖子: color 
2011-03-16 20:26
gwz0012000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-3-7
收藏
得分:0 
我是初学者,请赐教。题目是
分数的四则运算
在小学时我们就学习了分数的四则运算,即对两个分数进行加、减、乘、除等运算,现在我们尝试下用C语言来实现。

输入:

分数1 操作符 分数2

要求:
计算结果使用分数表示,并且为最简化。例如结果为2/6,则被简化为1/3

2011-03-16 20:27
gwz0012000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-3-7
收藏
得分:0 
我的编译器是DEV C++
2011-03-16 20:42
feng_gutu
Rank: 2
来 自:汉水之滨
等 级:论坛游民
帖 子:32
专家分:31
注 册:2011-2-11
收藏
得分:10 
有点乱,看晕了.usr

缓慢而坚定
2011-03-16 20:53
feng_gutu
Rank: 2
来 自:汉水之滨
等 级:论坛游民
帖 子:32
专家分:31
注 册:2011-2-11
收藏
得分:0 
有点乱,看晕了。精神上支持下楼主

缓慢而坚定
2011-03-16 20:53
gwz0012000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-3-7
收藏
得分:0 
多谢~顶贴
2011-03-16 21:28
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:10 
程序代码:
#define min(num1,num2) (num1<num2?num1:num2)

    else
    {
        int minmin = min(h,l);    
        for(o=minmin;o>=2;o--)
        {
            if(h%o==0&&l%o==0)
            {
                h=h/o;
                l=l/o;
            }
        }
    printf("%d/%d + %d/%d = %d/%d\n",a,b,e,f,h,l);
    }

2011-03-17 10:45
快速回复:在程序中镶嵌了个约分的循环,求解为什么不起作用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013920 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved