这是求最大公约数的,但是while循环有错误 我看不出来,请帮忙看下
#include<stdio.h>
void main()
{
int a,b,t,x;
t=0;
printf("请输入两个整数");
scanf("%d %d",&a,&b);
if(a<b)
{
t=a;
a=b;
b=t;
}
printf("%d %d\n",a,b);
x=b;
while(a%x!=0 && b%x!=0)
x--;
printf("最大公约数为%d",x);
}
格式错了,应该是do ……while循环结构:
下面用其他的写下了
#include<stdio.h>
void main()
{
int a,b,t,x,j;
printf("请输入两个整数");
scanf("%d %d",&a,&b);
t=a>b?a:b3
for(x=1;x<=t;x++)
if(a%x==0&&b%x==0)
j=x;
printf("gong yue shu :%3d\n",j);
}
#include<stdio.h>
void main()
{
int a,b,t,x;
t=0;
printf("请输入两个整数");
scanf("%d %d",&a,&b);
if(a<b)//a中存放最大数,b中存放最小数
{
t=a;
a=b;
b=t;
}
printf("%d %d\n",a,b);
//while(a%x!=0 && b%x!=0)
// x--;
while(b)
{
x = b ;
b = a % b ;
a = x ;
}
printf("最大公约数为%d\n",a);
}
#include<stdio.h>
int gcd(int m,int n)
{
int g;
if(n==0)
g=m;
else
g=gcd(n,m%n);
return (g);
}
void main()
{
int m,n;
printf("input two numbers \n");
scanf("%d,%d",&m,&n);
printf("the big is %d",gcd(m,n));
}
求最大公约数