求一道C++题目

题目是编写一个子函数求最大公约数,,我运行时出错,,帮看下哪里写错了#include<iostream>usingnamespacestd;intgy(intc,intd... 题目是编写一个子函数求最大公约数,,我运行时出错,,帮看下哪里写错了

#include<iostream>

using namespace std;

int gy(int c,int d)

{

int i,s;

for(i=0;i<=c && i<=d;i++)

{

if(c%i==0 && d%i==0)

s=i;

}

return s;

}

int main()

{

int a,b,gys;

cin>>a>>b;

gys=gy(a,b);

cout<<gys;

return 0;

}
展开
 我来答
蒙面侍卫说数码
2017-11-21 · 超过37用户采纳过TA的回答
知道答主
回答量:120
采纳率:84%
帮助的人:29.1万
展开全部
for 循环内有问题,i不能从0开始,而应该从1开始,因为0不能作除数。

for(i=0;i<=c && i<=d;i++) //i不能从0开始,至少从1开始

{

if(c%i==0 && d%i==0)

s=i;

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式