我本来想用辗转相术法求约数可是算不出来

#include<stdio.h>
int main()
{
int a,b,c,d,e;
printf("请输入两个数字:");
scanf("%d %d",&a,&b);
if(a!=0&&b!=0){
do{
c=a%b;
d=a;
e=b;
a=b;
e=c;

    }while(c!=0);
    printf("最大公约数为:%d",c);
}
return 0;

}

修改如下,供参考:

#include<stdio.h>
int main()
{
    int a, b, c, d, e;
    printf("请输入两个数字:");
    scanf("%d %d", &a, &b);
    if (a != 0 && b != 0) {
        do {
            c = a % b;
            //d = a;
            a = b;
            b = c;
            //e = c;

        } while (b > 0);//while(c!=0);
        printf("最大公约数为:%d", a);// printf("最大公约数为:%d",c);
    }
    return 0;
}