注册 登录
编程论坛 C++教室

for 和 while 的互相转换问题

s476667902 发布于 2014-11-15 11:07, 377 次点击
大神求教一下,我想把一下语句改成for循环,请问怎样改
while (m!=0) //求n和m的最大公约数
{r=n%m;
n=m;
m=r;
}



for(;m!=0;r=n%m,n=m,m=r);
我这样改出现什么错误了,为什么不能输出最大公约数?
1 回复
#2
peixiao2014-11-15 12:11
#include<iostream>
using namespace std;
int main()
{
    int m,n,r;
    cin>>m>>n;
    for(;m!=0;r=n%m,n=m,m=r);
    cout<<n<<endl;//要特别注意输出的应该是n
    return 0;

}
你的代码没问题,你看看是不是你的测试函数写错了.
1