求最大公约数 觉得程序没问题 但是运行出来最大公约数始终为0
问题描述:
#include stdio.h>
int main()
{
int a, b;
int min;
int x=0;
printf(“请输入两个整数数:“);
scanf("%d, %d", &a, &b) ;
if (a‹b)
{
min=a;
}
else
{min=b;
}
for (int i=1;i<min;i++)
{
if(a%i==0&&b%i==0)
{x=i;
}
}
printf(“最大公约数为%d",x);
return 0;
}
答
你这个肯定是0啊,for循环第一次就结束了。你从1开始判断,对1取余肯定是等于0的。而且是求最大公约数,那么应该是min开始判断,然后循环减一判断才行。
答
scanf()输入多加了个逗号
答
单步调试,看输入之后a,b的值。