#include
int main()
{
int a, b, d, i, c;
d = 0; c = 0;
scanf_s("%d%d", &a, &b);
if (a < b)
d = a; a = b; b = d;
i = b;
for (i = b; i >= 1; i--)
{
if (a % i == 0 && b % i == 0)
{
c = i; break;
}
}
printf("%d", c);
return 0;
}
题主的代码修改如下,if(a < b) 那里缺了一对 "{ }" ,供参考:
#include <stdio.h>
int main()
{
int a, b, d, i, c;
d = 0; c = 0;
scanf_s("%d%d", &a, &b);
if (a < b)
{ //修改 这段里缺了一对 {}
d = a; a = b; b = d;
} //修改
i = b;
for (i = b; i >= 1; i--)
{
if (a % i == 0 && b % i == 0)
{
c = i; break;
}
}
printf("%d", c);
return 0;
}
#include<stdio.h>
int main()
{
int m, n, temp, i;
printf("Input 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("The GCD of %d and %d is: %d\n", m, n, i);
break;
}
return 0;
}