c++程序是怎么运行的?

来源:百度知道 编辑:UC知道 时间:2024/09/19 15:48:46
2、#include<iostream.h>
int abc(int u=1,int v=1){
int tem;
while(v){
tem=u%v;
u=v;
v=tem;
}
return u;
}
void main(){
int a=16,b=12,c;
c=abc(a,b);
cout<<c<<endl;
}
是怎么运行的,“int abc(int u=1,int v=1);”这个函数是实现什么结果的?

#include<iostream.h>
int abc(int u=1,int v=1){ //定义一个函数叫 abc 有两个参数(默认为1)
int tem; //定义局部变量 tem
while(v){ v非0进入循环
tem=u%v; //tem值为u除以v的余数
u=v; //将v的值赋给u
v=tem; 再将tem的值赋给v。
}
return u; //返回u的值
}
void main(){ //主循环
int a=16,b=12,c; //定义3个整型变量 a b c
c=abc(a,b); 将a b 的值作参数 调用函数 abc
cout<<c<<endl; 输出c的值
}

函数功能是 辗转相除法求最大公约数。

函数的功能是求u,v的最小公约数。
在数学上有一种求两数a,b最小公约数的方法:
步骤一:a除以b(即a÷b),c是余数。
步骤二:如果c不等于0,那么将b赋值给a,c赋值给b,重复步骤一。如果c等于0,那么跳转至步骤三。
步骤三:步骤二中的b的值即a与b的最小公约数。
上述函数的功能即最小公约数算法思想的实现。

例:求48和14的最小公约数
(1)48÷14=3余6 余数不为0
(2)14÷6=2 余2 余数不为0
(3) 6÷2=3 余0 余数为0,结束
48和14的最小公约数是2.

希望能够帮到你~