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

時間 2022-03-16 03:15:20

1樓:問明

#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<

2樓:漠影歌

首先,你這個**規範啊,真是不忍直視。。函式初始化定義寫在外面!如果if,else語句有兩句以上用大括號括起來!

其次是**問題,胡亂使用遞迴,不是呼叫就能實現你想要的效果,遞迴是先進去,然後把值帶出來,然後再執行當前函式,所以不論你輸入什麼只要執行了else語句最大公約數都是52,把else那段改了就可以了,公倍數的那段是邏輯是對的

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

3樓:問明

#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<

4樓:匿名使用者

#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

執行示例:

5樓:匿名使用者

int gys(int x,int y)

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

6樓:流浪的狼

#include

#include

#include

int f(int a,int b)

int main()

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

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

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

7樓:匿名使用者

編寫該程式的整體思路:分別定義最大公約數函式和最小公倍數函式,然後再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。

8樓:匿名使用者

#include

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

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

9樓:巨思衲

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

請編寫兩個自定義函式,分別實現求兩個整數的最大公約數和最小公倍數,並用主函式調

10樓:匿名使用者

#include

/*請編寫兩個自定義函式,分別實現求兩個整數的最大公約數和最小公倍數,並用主函式調*/

int gongyin(int a,int b)//輾轉相除法求最大公約數,有問題請自行度娘之{int temp;

if(a

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

11樓:凌亂心扉

#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()

c語言用兩個函式求兩數最大公約數和最小公倍數

12樓:高職單招網

^可以給出一定的思路給你:

18, 36

最大公因

數 = 18

最小公倍數 = 36

18 = 2 * 9 = 2 * 3 * 3 = 2 * 3^236 = 2 * 18 = 2 * 2 * 9 = 2 * 2 * 3 * 3 = 2^2 * 3^2

最大公因數 = 18 = 2 * 3 * 3 = 2 * 3^2最小公倍數 = 36 = 2 * 2 * 3 * 3 = 2^2 * 3^2

c語言題目:寫兩個函式,分別求兩個整數的最大公約數和最小公倍數

13樓:半截小丑

標頭檔案寫錯了吧

、不懂再問懂請採納

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

問明 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,i...

c實驗編寫兩個函式求兩個整數的最大公約數

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 include int cal int m,int n int...

C語言,求兩個整數的較大者,C語言求兩個整數中的較大者

白方危英媛 第一個使用了函式,這個題很簡單,用第二種方便點,以後問題很複雜的時候,高手們都會選用第一種方法,把主函式裡的內容都寫成函式形式,再呼叫。 終展渾潔雅 第一個用了一個函式來處理這個演算法,返回結果是大的那個數,然後main裡面呼叫了一下那個函式,這樣比較方便,第二個看似簡單,但是都寫在主函...