C语言的简单函数问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:13:21
mian()
{
printf("The gcd of 75 and 101 is %d\n",gcd(75,101));
printf("The gcd of 1026 and 405 is %d\n",gcd(1026,405));
printf("The gcd of 91 and 13 is %d\n",gcd(91,13));
}
gcd(a,b)
int a,b;
{
int temp;
while (b!=0)
{
temp=a%b;
a=b
b=temp;
}
return a;
}

结果:
The gcd of 75 and 101 is 1
The gcd of 1026 and 405 is 27
The gcd of 91 and 13 is 13

我是个初初初初初学者``解释得越详细越好``
谢谢

它定义了一个gcd函数,这个函数的作用是若b不等于0把a余 b的值附给temp再把b的值给a,把temp的值给b!其实也就是a和b的值互换一下!然后返回a的值!一开始的三句都是输出语句,就是用三次那个函数

这个很简单啊,你看着语句,然后按照语句的意思走就行了

mian() 是主函数的意思!!
printf()是c语言定义的输出函数的 意思
gcd(a,b)是自定义函数,这个函数的功能已经定义了

这是求两个数的最大公约数的程序:
程序定义了一个gcd()函数;
gcd(a,b) \\定义函数\\
int a,b; \\定义变量a,b\\
{
int temp; \\定义变量temp\\
while (b!=0) \\b不等于零时循环\\
{
temp=a%b; \\将a除以b的余数赋值给temp\\
a=b; \\b赋值给a\\
b=temp; \\temp赋值给b\\
}
return a; \\返回变量a的值\\
}

欧基里德的「辗转相除法」:假设a比b大,将a除以b,得到的商是q,馀数是r;如果r=0,表示b是a的因数,因此,最大公约数就是n;如果r > 0,求m n最大公约数 就相当於求 r n最大公约数;重复上式的方法,将n除以r得到馀式s,将问题转化为求,… 依此类推.

这是求两个数的最大公约数的程序:
程序定义了一个gcd()函数;
gcd(a,b) \\定义函数\\
int a,b; \\定义变量a,b\\
{
int temp; \\定义变量temp\