最大公约数程序未按预期运行
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 特有的,您应该考虑不要使用它。
我必须用 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 returnint
.
其他注意事项:
getch()
和 clrscr()
是已弃用的函数,conio.h
是 Windows 特有的,您应该考虑不要使用它。