作业帮 > 综合 > 作业

c语言 :用递归算法求整数m和n的最大公约数.为什么说有错误?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 15:28:00
c语言 :用递归算法求整数m和n的最大公约数.为什么说有错误?
#include
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;
scanf("%d,%d",&m,&n);
printf("gcd=%d",gcd(m,n));
}
--------------------Configuration:变化 - Win32 Debug--------------------
Compiling...
变化.cpp
C:\Documents and Settings\Administrator\变化.cpp(10) :error C2018:unknown character '0xa3'
C:\Documents and Settings\Administrator\变化.cpp(10) :error C2018:unknown character '0xac'
C:\Documents and Settings\Administrator\变化.cpp(10) :error C2296:'&' :illegal,left operand has type 'char [6]'
Error executing cl.exe.
变化.obj - 3 error(s),0 warning(s)
递归的时候逻辑有点混乱,你看这样写是不是更好
#include
int gcd(int m,int n)
{
int g;
g = m%n;
if(0 == g)
{
return n;
}
else
{
return gcd(n,g);
}
}
int main()
{
int m,n;
scanf("%d,%d",&m,&n);
printf("gcd=%d",gcd(m,n));
return 0;
}