編寫函式,分別求兩個整數的最大公約數和最小公倍數

2022-09-17 03:06:41 字數 4973 閱讀 7741

1樓:吶誰ni在**

#include

fun(int x,int y);//這裡多了分號else ;//沒有定義r

r=x%y;

while(r!=0)

return(y);

}main()

能力有限,完整程式不會寫,希望對你有所幫助

2樓:匿名使用者

#include

fun(int x,int y);

else ;//沒有定義r

r=x%y;

while(r!=0)

return(y);

}main()

希望對你有所幫助

3樓:匿名使用者

完整程式如下:

#include

fun(int x,int y)

r=x;

x=y;

y=r;

r=x%y;

while(r!=0)

return(y);

}void main()

輸入兩個整數,編寫兩個函式,分別求這兩個整數的最大公約數和最小公倍數是什麼?

c語言 寫兩個函式,分別求兩個整數的最大公約數和最小公倍數,用主函式呼叫這兩個函式,並輸出結果兩個整

4樓:問明

#include//0和任意的一個數的最大公約數就是那個數(最小公倍數就是0)

int yue(int x,int y)

int m,t;

if(y>x)

t=x;//將x與y的值交換

x=y;

y=t;

while(y!=0)

m=x%y;

x=y;

y=m;

return x;

int bei(int x,int y,int p)

return(x*y/p);

int main()

int yue(int,int);

int bei(int,int,int);

int p,q,a,b;

printf("請輸入兩個整數:");

scanf("%d%d",&a,&b);

q=yue(a,b);

p=bei(a,b,q);//最小公倍數=兩數的乘積除以它們的最大公約數

printf("最大公約數是:%d\n最小公倍數是:%d\n",q,p);

#include

using namespace std;

int i;

int max(int a,int b)

//cout<<"max";

int s;s=i=2;

//coutb)

i=b;

else

i=a;

dowhile(i//cout<<"end的s!"

int min(int a,int b)

//cout<<"min";

int s;s=1;i=2;

dowhile(i<=a*b);

//cout<<"end的s!"

int main()

int x,y,m,n;

cin>>x>>y;

m=max(x,y);n=min(x,y);

cout<

5樓:匿名使用者

#include

int yue(int m,int n)

int bei(int m,int n)

int main()

{int m,n,d,e,t;

printf("請輸入兩個正整數:   ");

scanf("%d,%d",&m,&n);

if(m

執行示例:

6樓:匿名使用者

int gys(int x,int y)

你這個函式 z沒有初始化是個隨機值 第一輪迴圈沒法判斷的

7樓:流浪的狼

#include

#include

#include

int f(int a,int b)

int main()

編寫函式:輸入兩個正整數m,n,求它們的最大公約數和最小公倍數

8樓:匿名使用者

#include

#include

int fun_y(int,int);

int fun_b(int,int);

main()

int fun_y(int x,int y)return i;

}int fun_b(int x,int y)return i;}

c語言函式編寫,求兩個整數的最大公約數和最小公倍數

9樓:匿名使用者

編寫該程式的整體思路:分別定義最大公約數函式和最小公倍數函式,然後再main函式裡面呼叫它。c語言實現**如下:

#include

#include

int fun_gy(int,int);  //宣告最大公約數函式

int fun_gb(int,int);  //宣告最小公倍數函式

main()

int a,b,gy,gb;

printf("輸入兩個整數:\n");

scanf("%d%d",&a,&b);

gy=fun_gy(a,b);   //呼叫最大公約數函式

gb=fun_gb(a,b);  //呼叫最小公倍數函式

printf("最大公約數是:%d\n最小公倍數是:%d\n",gy,gb);

int fun_gy(int x,int y)

int z,i;

if(x>y)

z=sqrt(y);

else

z=sqrt(x);

for(i=z;i>=1;i--)

if(x%i==0&&y%i==0)

break;

return i;

}int fun_gb(int x,int y)

int z,i;

z=x*y;

for(i=x;i<=z;i++)

if(i%x==0&&i%y==0)

break;

return i;

}程式執行結果:

擴充套件資料:

這裡涉及到了最大公約數和最小公倍數的計算方法:

我們知道兩個整數的最小公倍數等於他們的乘積除以他們的最大公約數。所以關鍵還是最大公約數的計算。

輾轉相除法(求最大公約數):

假設求a,b的最大公約數,則:

(1)a除以b取餘得c,若c=0,則b即為兩數的最大公約數,輸出,結束。

(2)若c  != 0,則將b賦給a,c賦給b再返回上一步操作,繼續執行。

例如,求30和98的最大公約數,過程如下:

90%30 = 8;

30%8 = 6;

8%6 = 2;

6%2 = 0;

所以最大公約數為2。

10樓:匿名使用者

#include

void fun(int m,int n)printf("\n最大公約數%d\n最小公倍數%d\n",a,m*n/a);

}//以上為求兩個正整數最大公約數、最小公倍數的函式,以下為主函式void main()

11樓:巨思衲

新語言函式編寫求兩個整數的最大公約和最小公約,這個你可以去問老師,嗯,因為老師他們知道的比較具體,會給你們相關的回答。

編寫兩個函式,分別求兩個整數的最大公約數和最小公倍數,並用主函式呼叫這兩個函式, 5

12樓:凌亂心扉

#include//0和任意的一個數的最大公約數就是那個數(最小公倍數就是0)

int yue(int x,int y)

while(y!=0)

return x;

}int bei(int x,int y,int p)int main()

#include

using namespace std;

int i;

int max(int a,int b)

else

i=a;

doi--;

}while(i//cout<<"end的s!"

}int min(int a,int b)i++;

}while(i<=a*b);

//cout<<"end的s!"

}int main()

編寫兩函式,分別求出兩個整數的最大公約數和最小公倍數,用主函式呼叫這兩個函式

13樓:高原狼人

#include

using namespace std;

int f(int m,int n) //定義函式求最大公約數

while(m!=0)

return n;}

int k(int a,int b) //定義函式求最小公倍數

14樓:

c語言編寫兩個函式,分別求出兩個整數的最大公約數和最小公倍數。用主函式呼叫這兩個函式,並輸出結果。

編寫函式,求兩個整數的最大公約數,在主函式中輸入兩個整數

給個思路,設兩數是a b max a,b min a,b 是整數,則最大公約數是min a,b 否則i min a,b to 1 min a,b min a,b 整數,max a,b min a,b 整數,結束i include int number int x,int y else return ...

用c 知識編寫程式「編寫兩個分別求整數和雙精度絕對值的函式

這個建議使用函式模版來做,例如 includeusing namespace std template t可以用其他字母代替 t paixu t a,int n.編寫一個求絕對值的函式模板,並進行測試,用c 程式設計 以下是修bai 改通過程式以及 du錯誤註釋 include template i...

C語言用輾轉相除法求兩個正整數的最大公約數

include void main printf d m include int int n,int m t n m while t return m end int r,t r n m while r 0 return m c語言程式 用 輾轉相除法 求兩個正整數的最大公約數 程式填空 defin...