当前位置: 代码迷 >> C语言 >> 哪位大虾看看哪里错了
  详细解决方案

哪位大虾看看哪里错了

热度:99   发布时间:2008-04-07 07:24:11.0
哪位大虾看看哪里错了
小弟写了段代码,想输入两个数m,n后求它们的最小公约数与最大公倍数,代码如下,
编译的时候没有错误,但是就是执行不了,请大虾们帮个手,先说谢谢了!!

#include <stdio.h>
void main()
{
    int m,n,a,b,max,min,s1,s2,t;    
    printf("请输入m,n的值:");
    scanf("%d,%d\n",&m,&n);
    max=m;
    min=n;
    p=m*n;
    if (m<n)
    {
        t=min;
        min=max;
        max=t;
    }


    for (a=min;a>=0;a--)
    {
        if(min%a==0 && max%a==0) s1=a;
        else s1=1;
    }
    printf ("%d为最大公约数.\n",s1);



    for (b=max;b<=1000;b++)
    {
        if (b%min==0 && b%max==0) s2=b;
                  else s2=max*min;
    }
    printf("%d为最小公倍数.\n",s2);
}

[[it] 本帖最后由 sd7087003 于 2008-4-7 08:57 编辑 [/it]]
搜索更多相关的解决方案: max  void  include  公倍数  公约数  

----------------解决方案--------------------------------------------------------
你输入数据的时候,两个数有用逗号隔开吗?

另,最小公倍数不是这么算的
----------------解决方案--------------------------------------------------------
我有用逗号隔开输入的,那请问最小公倍数怎么算啊??
----------------解决方案--------------------------------------------------------
最大公约数也不是这么算的


----------------解决方案--------------------------------------------------------
不用TC和WIN-TC
  那用什么?
----------------解决方案--------------------------------------------------------
帮你改了改
你的第六行有语法问题
scanf("%d,%d\n",&m,&n);//这里面是不能加'\n'的啊
其次,最小公倍数的算法不好.如果公倍数大于1000怎么办?

#include <stdio.h>
int main(void)
{
    int max,min,i,t,n;   
    printf("请输入a,b的值:");
    scanf("%d,%d",&max,&min);
    if (max<min)
    {
        t = max;
        max = min;
        min = t;
    }
    for (i = min;i > 1;i--)
        if (max%i==0 && min%i==0)
            break;
    printf ("%d为最大公约数.\n",i);
    i = max/i*min;
    printf("%d为最小公倍数.\n",i);
    getch();
    return 0;
}
----------------解决方案--------------------------------------------------------
......
还有第九行的p=m*n;中的p没有定义.
p=m*n;你根本就没用到.
----------------解决方案--------------------------------------------------------
公约数的问题还是很经典的 让人的思路拓展
----------------解决方案--------------------------------------------------------
哈哈
谢谢各位了
我检查了一下
都是错低级错误
我会改正的
----------------解决方案--------------------------------------------------------
别写void main了


----------------解决方案--------------------------------------------------------
  相关解决方案