| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 623 人关注过本帖
标题:求大神查错,看看有什么问题。
只看楼主 加入收藏
小故事
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
求大神查错,看看有什么问题。
#include <stdio.h>
int main(  )
{
    int m,n,t;
    scanf("%d,%d",m,n);
    if(m<n){
        t=n;
        n=m;
        m=t;
    }
    if(m%n==0)
    printf("最小公倍数=%d",m);
    else {
        int i;
        i=1;
        for(;m%n;){
            i<=n;
            i++;
            m=m*i;
        }
    printf("最小公倍数=%d",m);
    if(m%n==0);
    printf("最小公倍数=%d",m);
    }
    return 0
}
就是求输入两个数求最小公倍数,我写了这样,为什么总是结果为零啊?求教。。
搜索更多相关主题的帖子: include 
2014-05-04 15:22
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:18 
scanf后面要跟变量地址
就是平时所说的取址符&

DO IT YOURSELF !
2014-05-04 15:37
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:2 
楼上说的对,如果定义成指针类型就不需要取地址符 &

我不是砖家,要努力成为砖家。
2014-05-04 15:48
小故事
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-14
收藏
得分:0 
回复 2 楼 wp231957
真的哎,谢谢大神。
2014-05-04 15:50
小故事
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-14
收藏
得分:0 
回复 2 楼 wp231957
不好意思,我试了一下,为什么这个代码写出来之后,部分可以,部分就结果不对啊?问题出在哪啦,能帮忙看一下吗?
2014-05-04 15:59
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
  for(;m%n;){
            i<=n;
            i++;
            m=m*i;
        }
你这个循环体存在问题。
i<=n,何解呢?
2014-05-04 16:13
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
把这段        int i;
        i=1;
        for(;m%n;){
            i<=n;
            i++;
            m=m*i;
        }
换为:
i=m;
while (i%n) i+=m;
m=i;
2014-05-04 16:17
小故事
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-14
收藏
得分:0 
回复 6 楼 top398
就是在n以内找到一个数乘以较大数,得出最小公倍数啊。那怎么纠正呀,我都换好几次了,还请指教。
2014-05-04 16:17
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
更正一下,这部分:
        i=1;
        for(;m%n;){
            i<=n;
            i++;
            m=m*i;
        }
    printf("最小公倍数=%d",m);
    if(m%n==0);
    printf("最小公倍数=%d",m);
换成:
    i=m;
    while (i%n) i+=m;
    printf("最小公倍数=%d",i);


[ 本帖最后由 top398 于 2014-5-4 16:21 编辑 ]
2014-05-04 16:20
小故事
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-14
收藏
得分:0 
回复 9 楼 top398
#include <stdio.h>
int main(  )
{
    int m,n,t;
    scanf("%d,%d",&m,&n);
    if(m<n){
        t=n;
        n=m;
        m=t;
    } ;
    if(m%n==0)
    printf("最小公倍数=%d",m);
    else {
         #include <stdio.h>
int main(  )
{
    int m,n,t,i;
    scanf("%d,%d",&m,&n);
    if(m<n){
        t=n;
        n=m;
        m=t;
    } ;
    if(m%n==0)
    printf("最小公倍数=%d",m);
    else {
          int i;
          i=m;
          while (i%n==0);
          i+=m;
    printf("最小公倍数=%d",i);
    };
    return 0;
}
是这样吗?可是会报错呀。
2014-05-04 16:30
快速回复:求大神查错,看看有什么问题。
数据加载中...
 
   



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

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