#include <stdio.h>
void main( )
{
int m, n, r, t;
printf("input m, n:\n");
scanf("%d,%d",&m, &n);
if(m<n)
{ t=m;
m=n;
n=t;}
do
{ r=m%n;
m=n ;
n=r ;
}while(r!=0);
printf("the gcd is %d",n );
}
输出均为0,请问要怎么修正啊

辗除法求最大公因数程序检错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- X-道至简 2022-10-21 18:36关注
r!=0 这个循环条件决定了最后r=0才能退出循序, 你输出的n 而 n=r最后肯定是0了。辗除法不太懂,看看逻辑是否哪里有问题了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用