| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 932 人关注过本帖
标题:真心看不出出什么问题了,求大神帮忙看下。。。
只看楼主 加入收藏
bccn新
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:57
专家分:144
注 册:2013-5-10
收藏
得分:3 
等等,有人提出算法有问题为啥无人关注?如果x小于y,那个while一次循环也不做,直接输出y作为最大公约数。具体算法我不想多说,辗转相除法,不难写的。
2013-05-22 22:25
火雨流星泪
Rank: 2
等 级:论坛游民
帖 子:65
专家分:78
注 册:2013-5-12
收藏
得分:3 
我做了个程序,对算法做了点儿修改,缺点是最大公约数输出两次,改下就好了。
#include"stdio.h"
int yue(int x,int y)
{
    int temp,t=0;
    while(1)          //把除数看做被除数,余数看做除数
    {
        temp=y;
        t=x%y;
        x=temp;
        if(t!=0)          //对循环的停止控制有点儿问题,对照一下
             y=t;
        else
            break;
    }
    printf("%d\n",y);
   return y;  
}
int bei(int x,int y)                        //两个数的乘积除以最大公约数
{
    int temp,c=x*y,d,f;
    d=yue(x,y);
    f=c/d;
   printf("%d\n",f);
}
void main()
{ int a,b,c,d,temp;
  printf("请输入两个数:");
  scanf("%d%d",&a,&b);
  if(a<b)
  {temp=a;a=b;b=temp;}
  yue(a,b);
  bei(a,b);
}
嘿嘿,新人发帖,说错勿怪
2013-05-23 07:24
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:3 
学一学debug吧  很有用的   像这种小程序   debug很有用

三十年河东,三十年河西,莫欺少年穷!
2013-05-25 01:40
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 4楼 雪狼MJ
你说的死循环是不是当y=0的时候的情况?
2013-05-25 07:44
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:0 
发现一广告君!

仰望星空...........不忘初心!
2013-05-25 15:59
快速回复:真心看不出出什么问题了,求大神帮忙看下。。。
数据加载中...
 
   



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

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