c语言求最大公约数为什么结果出不来

代码小屋 毕业设计 1

问题背景

c语言求最大公约数为什么结果出不来

尝试结果

c语言求最大公约数为什么结果出不来

明确问题

int m,n,i;
printf("输入两个正整数m n(m<n)");
scanf("%d%d",&m,&n);
for (i=n-1;i<=(n-1)&&i>0;i--) 
{
    if(n%i==0&&m%i==0)
    printf("最大公约数是%dn",i);
break;
}
int main()
    int m,n,i
      printf("输入两正整数m (m<n)");
scanf("%d%d",&m,&n),
     for (i=n-li<=(n-1)&&i>O;i--
             if(n%i==0&&m%i==0)
               printf("最大公约数是%dn",i);
                break;l
      return
Process returned 0(0x0)                                  execution time: 3.035 s
 'ress any key to continue.

回复

共2条回复 我来回复
  • 代码向导
    这个人很懒,什么都没有留下~
    评论
    #include<stdio.h>
    int main() 
    {
        int m, n, temp, i;
        printf("输入两正整数m (m<n)");
        scanf("%d%d", &m, &n);
        if(m<n)  
        /*比较大小,使得m中存储大数,n中存储小数*/ 
        {
            /*交换m和n的值*/
            temp=m;
            m=n;
            n=temp;
        }
        for (i=n; i>0; i--)  
        /*按照从大到小的顺序寻找满足条件的自然数*/
        if(m%i==0 && n%i==0) 
        {
            /*输出满足条件的自然数并结束循环*/
            printf("%dn",i);
                break;
            }
        return 0;
    }
    
    0条评论
  • 毕设助手
    这个人很懒,什么都没有留下~
    评论
    if 语句后面添加大括号,否则for循环第一次就break 了,如下:
    
    if(n%i==0&&m%i==0){
    printf("最大公约数是%d\n",i);
    break;
    }
    
    0条评论

发表回复

登录后才能评论