| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:帮忙看一下程序!谢谢了
取消只看楼主 加入收藏
段梦超
Rank: 2
等 级:论坛游民
帖 子:21
专家分:10
注 册:2009-12-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
帮忙看一下程序!谢谢了
我刚写的用辗转相除法求最大公约数的程序
 #include <stdio.h>
 void main()
 {
   int m,n,max, dend,dsor, rem;               */__ __ __ 被除数 除数 余数/*
   printf("plese scan two number.\n");
   scanf("%d%d",&m,&n);
   if(m<n)
     {
       max=m;
       n=m;
       m=max;
      }
    if(m%n==0) printf("The greatest common divisor is %d./n",n);
    else
      {
        dend=m;
        dsor=n;
        rem=dend%dsor;
        while(rem>0)
             {
               dend=dsor;
               dsor=rem;
               rem=dend%dsor;
              }
       }
  printf("The greatest common diivsor is %d.\n",dsor);
 }
运行时有一点问题:当输入的两个数字为(9,18) (2,4)等数字(也就是说输入的两个数字中有一个是其最大公约数)时会输出:The ........is n(正确的结果)The ........is 1294(这个信息紧跟在正确结果后面)。
 我初学C 请高手指点一下。谢谢了!!!

[ 本帖最后由 段梦超 于 2010-1-1 12:04 编辑 ]
2010-01-01 11:48
段梦超
Rank: 2
等 级:论坛游民
帖 子:21
专家分:10
注 册:2009-12-20
收藏
得分:0 
这个是抄写的时喉马虎了  不好意思其中一个应该是 dend
2010-01-01 12:03
段梦超
Rank: 2
等 级:论坛游民
帖 子:21
专家分:10
注 册:2009-12-20
收藏
得分:0 
我觉得楼上该的有些问题    如果输入时m<n 或者m%n=0 那就无法计算了


[ 本帖最后由 段梦超 于 2010-1-1 12:16 编辑 ]
2010-01-01 12:05
快速回复:帮忙看一下程序!谢谢了
数据加载中...
 
   



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

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