c++ 讲道理 这个程序哪里有问题了?
如图,程序运行的时候,就没有下文了。好像是从while哪里就开始有问题,可是我找不到啊求您帮帮赶due的我...
如图, 程序运行的时候,就没有下文了。好像是从while哪里就开始有问题,可是我找不到啊求您帮帮赶due的我
展开
1个回答
展开全部
你的求最大公约数的C++程序,我帮你改完了,你看看吧(改动的地方见注释)
#include<iostream>
//#include<string> //这里去掉这句,没用到string.h中的函数
using namespace std;
int main()
{
int gcd,x,x1,y,y1,difference;//这里加两个变量x1,y1
cout<<"Enter the first integer:";
cin>>x;
x1=x; //这里加一句,x的值赋给x1
cout<<"Enter the second integer:";
cin>>y;
y1=y; //这里加一句,y的值赋给y1
while(x!=0 && y!=0)//这里while(x!=0 || y!=0)改成while(x!=0 && y!=0),只有x,y都不为0才进入while循环
{
if(x==y)
{
gcd=x;
break;//这里加一句当x等于y时退出循环
}
else if(x<y)
{
difference=y-x;
y=difference;
gcd=x;
}
else
{
difference=x-y;
x=difference;
gcd=y;
}
}
cout<<"The gcd of "<<x1<<" and "<<y1<<" is:"<<gcd<<endl;//这里输出x1,y1和gcd
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询