张世来4610484 发表于 2020-2-15 00:22:58

当型和直到型循环

求两个正整数的最小公约数和最小公倍数
#include <stdio.h>
void main ()
{
        int a , b , num1,num2,temp;
        printf("please input tow numbers:\n");
        scanf("%d%d",&num1,&num2);
        if(num1<num2)
        {
                temp=num1;
                num1=num2;
                num2=temp;
        }
        a=num1;b=num2;
        do
        {
                temp=a%b;
                a=b;
                b=temp;
        } while(b!=0);
        printf("公约数%d\n",a);
        printf("公倍数%d\n",num1*num2/a);
}




我把dowhile改成while为什么程序运行不了,请帮忙解答下
#include <stdio.h>
void main ()
{
        int a , b , num1,num2,temp;
        printf("please input tow numbers:\n");
        scanf("%d%d",&num1,&num2);
        if(num1<num2)
        {
                temp=num1;
                num1=num2;
                num2=temp;
        }
        a=num1;b=num2;
   while(b!=0);
        {
                temp=a%b;
                a=b;
                b=temp;
        }
        printf("公约数%d\n",a);
        printf("公倍数%d\n",num1*num2/a);
}



倒戈卸甲 发表于 2020-2-15 05:51:22

while(b!=0);这个分号结束了循环。去掉即可

qiuyouzhi 发表于 2020-2-15 08:56:59

while循环后面没有分号:
而且缩进错误
页: [1]
查看完整版本: 当型和直到型循环