最大公约数程序未按预期运行

Greatest common divider program not working as expected

我必须用 C++ 编写一个程序来 接受 2 个整数并使用带有 return 语句的函数找到它们的 G.C.D(最大公约数)。

这是我写的:

int gcd(int x, int y)

#include<iostream.h>
#include<conio.h>

void main()
{
   clrscr();
   int q, x, y, ans;
   cout<<"Enter 2 nos."<<endl;
   cin>>x>>y;
   q = gcd(x,y)
   cout<<"The GCD is: "<<q<<endl;
   getch();
}

int gcd(int x, int y)
{
   int ans;
   int i;
   for(i = 0; i<=x && i<=y; i++)
   {
      if(x%i==0 && y%i==0)
      ans = i;
   }
   return ans;
}

编译我的代码时,出现声明语法错误。

有人可以指出我的错误在哪一行以及我应该如何解决吗?

int gcd(int x, int y)

Missing a ;


q = gcd(x,y)

Missing a ;


#include<iostream.h>

Maybe you meant

#include <iostream>

if(x%i==0 && y%i==0)

Integer division by zero, in the first iteration when i = 0.


main must return int.


其他注意事项:

getch()clrscr() 是已弃用的函数,conio.h 是 Windows 特有的,您应该考虑不要使用它。