c语言编写两个自定义函数,分别实现求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数
#includelt;stdio.hgt;
创新互联公司专注于姚安网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供姚安营销型网站建设,姚安网站制作、姚安网页设计、姚安网站官网定制、微信平台小程序开发服务,打造姚安网络公司原创品牌,更为您提供姚安网站排名全网营销落地服务。
#includelt;stdlib.hgt;
int HCF(int x,int y);//定义最大公约数函数
int LCM(int p,int q);//定义最小公倍数函数
int main()
{
int a,b,hcf,lcm;
scanf("%d%d",a,b);//输入两个整数
hcf=HCF(a,b);//调用最大公约数函数
lcm=LCM(a,b);//调用最小公倍数函数
printf("HCF is%d LCM is%d\n",hcf,lcm);//输出最大公约数和最小公倍数
system("pause");
return 0;
}
int sum;//定义外部变量sum
//最大公约数函数
int HCF(int x,int y)
{
int i,k,m,n;
sum=1;
k=xgt;y?y:x;
i=2;
while(ilt;=k){
m=x%i;
n=y%i;
if(m==0n==0){
sum*=i;
x/=i;
y/=i;
i=2;
}
else
i++;
}
return sum;
}
//最小公倍数函数
int LCM(int p,int q)
{
int lc;
lc=p*q/sum;
return lc;
}
扩展资料:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数
#includestdio.h
#includemath.h
int fun_y(int,int);
int fun_b(int,int);
main()
{
int a,b,gy,gb;
printf("输入两个整数:\n");
scanf("%d%d",a,b);
gy=fun_y(a,b);
gb=fun_b(a,b);
printf("最大公约数是:%d\n最小公倍数是:%d\n",gy,gb);
}
int fun_y(int x,int y)
{
int z,i;
if(xy)
z=sqrt(y);
else
z=sqrt(x);
for(i=z;i=1;i--)
{
if(x%i==0y%i==0)
break;
}
return i;
}
int fun_b(int x,int y)
{
int z,i;
z=x*y;
for(i=x;i=z;i++)
{
if(i%x==0i%y==0)
break;
}
return i;
}
C语言编程:从键盘输入两个正整数a和b,求a和b的最小公倍数,咋做?
代码文本:
#include "stdio.h"
int mylcm(int a,int b){//求LCM函数
int t;
if(ab)
t=a,a=b,b=t;
for(t=a;t%b;t+=a);
return t;//返回LCM
}
int main(int argc,char *argv[]){
int a,b;
printf("Enter a b(int a0,b0)...\n");
if(scanf("%d%d",a,b)==2 a0 b0)
printf("The LCM is %d\n",mylcm(a,b));
else//提示输入错误并退出
printf("Input error, exit...\n");
return 0;
}
比较简单,供参考……
C语言题:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。
#include stdio.h
int gcd(int x, int y); ///最大公约数
int lcm(int x, int y); ////最小公倍数
int main()
{
int a,b;
scanf("%d%d",a,b);
printf("gcd:%d,lcm:%d\n", gcd(a,b),lcm(a,b));
return 0;
}
int gcd(int x, int y)
{
int r;
do
{
r=x%y;
x=y;
y=r;
} while(r!=0);
return x;
}
int lcm(int x, int y)
{
return x*y/gcd(x,y);
}
C语言编程,函数
#include stdio.h
#include conio.h
/* 辗转相除法求最大公约数 */
int gcd (int m, int n) {
if (n)
while((m %= n) (n %= m)); /* 两数反复相除取余,直至被整除 */
return m+n;
}
int lcm (int m, int n) {
return m * n / gcd (m, n);
}
int main (void) {
int m, n;
int gcdnum, lcmnum; /* 最大公约数、最小公倍数 */
m = 252; n = 105; /* 最大公约数为21,最小公倍数为1260 */
gcdnum = gcd (m, n);
lcmnum = lcm (m, n);
printf ("%d %d\n", m, n);
printf ("The gcd is %d\n", gcdnum);
printf ("The lcm is %d\n", lcmnum);
getch (); /*屏幕暂留*/
return 0;
}
文章名称:c语言编写lcm函数 c语言怎么编函数
分享URL:http://lswzjz.com/article/hhjhsg.html