#includelt;stdio.hgt;
創(chuàng)新互聯(lián)公司專注于姚安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供姚安營(yíng)銷(xiāo)型網(wǎng)站建設(shè),姚安網(wǎng)站制作、姚安網(wǎng)頁(yè)設(shè)計(jì)、姚安網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開(kāi)發(fā)服務(wù),打造姚安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供姚安網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
#includelt;stdlib.hgt;
int HCF(int x,int y);//定義最大公約數(shù)函數(shù)
int LCM(int p,int q);//定義最小公倍數(shù)函數(shù)
int main()
{
int a,b,hcf,lcm;
scanf("%d%d",a,b);//輸入兩個(gè)整數(shù)
hcf=HCF(a,b);//調(diào)用最大公約數(shù)函數(shù)
lcm=LCM(a,b);//調(diào)用最小公倍數(shù)函數(shù)
printf("HCF is%d LCM is%d\n",hcf,lcm);//輸出最大公約數(shù)和最小公倍數(shù)
system("pause");
return 0;
}
int sum;//定義外部變量sum
//最大公約數(shù)函數(shù)
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;
}
//最小公倍數(shù)函數(shù)
int LCM(int p,int q)
{
int lc;
lc=p*q/sum;
return lc;
}
擴(kuò)展資料:
用法:
1、printf()函數(shù)是格式化輸出函數(shù),一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。
格式輸出,它是c語(yǔ)言中產(chǎn)生格式化輸出的函數(shù)(在stdio.h中定義)。用于向終端(顯示器、控制臺(tái)等)輸出字符。格式控制由要輸出的文字和數(shù)據(jù)格式說(shuō)明組成。
要輸出的文字除了可以使用字母、數(shù)字、空格和一些數(shù)字符號(hào)以外,還可以使用一些轉(zhuǎn)義字符表示特殊的含義。
簡(jiǎn)單點(diǎn)理解就是,在一段程序中你正確使用該函數(shù),可以在該程序運(yùn)行的時(shí)候輸出你所需要的內(nèi)容。
2、printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個(gè)特例,不要求在使用printf函數(shù)之前必須包含stdio.h文件。
printf()函數(shù)的調(diào)用格式為:printf("lt;格式化字符串gt;",lt;參量表gt;)。
其中格式化字符串用于指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。
#includestdio.h
#includemath.h
int fun_y(int,int);
int fun_b(int,int);
main()
{
int a,b,gy,gb;
printf("輸入兩個(gè)整數(shù):\n");
scanf("%d%d",a,b);
gy=fun_y(a,b);
gb=fun_b(a,b);
printf("最大公約數(shù)是:%d\n最小公倍數(shù)是:%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;
}
代碼文本:
#include "stdio.h"
int mylcm(int a,int b){//求LCM函數(shù)
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//提示輸入錯(cuò)誤并退出
printf("Input error, exit...\n");
return 0;
}
比較簡(jiǎn)單,供參考……
#include stdio.h
int gcd(int x, int y); ///最大公約數(shù)
int lcm(int x, int y); ////最小公倍數(shù)
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);
}
#include?stdio.h
#include?conio.h
/*?輾轉(zhuǎn)相除法求最大公約數(shù)?*/
int?gcd?(int?m,?int?n)?{
if?(n)
while((m?%=?n)??(n?%=?m));?/*?兩數(shù)反復(fù)相除取余,直至被整除?*/
return?m+n;
}
int?lcm?(int?m,?int?n)?{
return?m?*?n?/?gcd?(m,?n);
}
int?main?(void)?{
int?m,?n;
int?gcdnum,?lcmnum;?/*?最大公約數(shù)、最小公倍數(shù)?*/
m?=?252;?n?=?105;?/*?最大公約數(shù)為21,最小公倍數(shù)為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;
}