if (!(x%y))
{
return y;
}
do
{
i=x%y;
x=y;
y=i;
}while(y);
return x; 谁能解释这一段啊
if (!(x%y))
//x%y是取余操作,x%y是取x除以y的余数,所以!(x%y)就是判断的x是否能被y整除,如果能整除,x%y等于0,!(x%y)为真,进行return y处理;如果不能整除,x%y不为0,!(x%y)为假,不进行if内处理,继续后续处理。
{
return y;
}
do
{
i=x%y; //将x除以y的余数赋值给i
x=y; //将y的值赋值给x,也就是将本次的除数作为下一次的被除数
y=i; //将i的值赋值给y,也就是将本次的余数作为下一次的除数
}while(y); //将y值作为while循环是否继续的判断条件,当y值不为0时,循环继续,否则循环终止。也就是说,当x不能整除y时,循环一直继续下去,直到x能整除y。
return x;
//x%y是取余操作,x%y是取x除以y的余数,所以!(x%y)就是判断的x是否能被y整除,如果能整除,x%y等于0,!(x%y)为真,进行return y处理;如果不能整除,x%y不为0,!(x%y)为假,不进行if内处理,继续后续处理。
{
return y;
}
do
{
i=x%y; //将x除以y的余数赋值给i
x=y; //将y的值赋值给x,也就是将本次的除数作为下一次的被除数
y=i; //将i的值赋值给y,也就是将本次的余数作为下一次的除数
}while(y); //将y值作为while循环是否继续的判断条件,当y值不为0时,循环继续,否则循环终止。也就是说,当x不能整除y时,循环一直继续下去,直到x能整除y。
return x;
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-02-10
while() 括号里就是判断条件循环的语句~!
任何非零数都被认成是真;继续下面循环语句
如果是0 那么循环结束 跳出循环~
任何非零数都被认成是真;继续下面循环语句
如果是0 那么循环结束 跳出循环~
第2个回答 2015-10-02
循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出。while语句的一般表达式为:
while(表达式)
{
循环体
}
循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。
while(表达式)
{
循环体
}
循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。
第3个回答 2009-02-10
这样给你注释一下吧,稍加修改你应该能明白
if ((x%y)==0) /*当x整除y时成立*/
{
return y;
}
do /*当x不整除y时开始循环*/
{
i=x%y; /*i是x、y的余数*/
x=y;
y=i; /*y赋给x,i赋给y,然后判断,如果整除,则结束循环*/
}while(y!=0); /*当y不等于0时继续循环*/
return x;
if ((x%y)==0) /*当x整除y时成立*/
{
return y;
}
do /*当x不整除y时开始循环*/
{
i=x%y; /*i是x、y的余数*/
x=y;
y=i; /*y赋给x,i赋给y,然后判断,如果整除,则结束循环*/
}while(y!=0); /*当y不等于0时继续循环*/
return x;
第4个回答 2009-02-09
当y不为0
执行do循环
整个程序的翻译是
如果(x除以y的余数不为0)
返回y的值
当y不为0
那么i=x除以y的余数
把y的值赋予x
把i的值赋予y
最后返回x的值
执行do循环
整个程序的翻译是
如果(x除以y的余数不为0)
返回y的值
当y不为0
那么i=x除以y的余数
把y的值赋予x
把i的值赋予y
最后返回x的值