雞兔同籠問題c語言程式編寫,雞兔同籠問題C語言程式編寫

2022-02-25 20:32:27 字數 3013 閱讀 2310

1樓:gta小雞

#include

int main()

2樓:2一瞬間

#include

void main()

printf("雞=%d,兔=%d\n",x,y);}

3樓:約定

#include

void main()

{    int a,b,c,d;

printf("這是一個用於算雞兔同籠的小程式\n請輸入雞兔的總數");

scanf("%d",&a);

if(a>=0)

printf("\n請輸入雞兔腳的總數");

scanf("%d",&b);

if(b%2==1)

printf("腳的數量出現奇數,真奇怪啊!\n");

else if(b<=a*4&&b>=a*2)c=(4*a-b)/2; // 雞的數目

d=a-c;  // 兔的數目

if(c*2+d*4==b)

printf("雞有%ld只\n兔有%ld只\n",c,d); // c和d反了

else

printf("這個真難,計算機也沒法算!\n");

else

printf("輸入雞兔腳的數量範圍不正確,正確的範圍是%d--%d!\n",a*2,a*4);

else

printf("數量不能為負!\n");

4樓:倒黴熊

你使用的是下面這個演算法:

雞的只數=(4×雞兔總只數-雞兔總腳數)÷2兔的只數=雞兔總只數-雞的只數

但是不懂的是

if(a%1!=0||b%1!=0)

你這裡是什麼意思??

另外,輸出時,別輸出\n 這種多餘的字元,只按照要求以空格分隔就好了??

5樓:鼓巨肌

printf("輸入頭數和腳數:\n");

sscanf("%d%d", &h, &f);

下面是你的**

6樓:匿名使用者

各位對異常情況的理解有點問題哈,其實很簡單。

c程式總是能算出答案,無論什麼資料,只是這個資料無法再算回去。

因此,異常的情況是m != 4 * a + b * 2 || n != a + b,當然,要注意m,n不能小於1,負數和0不是有效輸入。

另舉兩個我認為有趣的解法:

讓雞和兔都舉起兩隻腳,這裡應該只能數到兔子的腳,(m - 2*n)/2即得兔子的數量。

讓雞放下翅膀當腳,這時有4n個腳,其中真的腳只有m個,有4*n - m個翅膀,雞的數量是(4 * n - m) / 2

c語言程式設計雞兔同籠的問題

7樓:約定

#include

void main()

{    int a,b,c,d;

printf("這是一個用於算雞兔同籠的小程式\n請輸入雞兔的總數");

scanf("%d",&a);

if(a>=0)

printf("\n請輸入雞兔腳的總數");

scanf("%d",&b);

if(b%2==1)

printf("腳的數量出現奇數,真奇怪啊!\n");

else if(b<=a*4&&b>=a*2)c=(4*a-b)/2; // 雞的數目

d=a-c;  // 兔的數目

if(c*2+d*4==b)

printf("雞有%ld只\n兔有%ld只\n",c,d); // c和d反了

else

printf("這個真難,計算機也沒法算!\n");

else

printf("輸入雞兔腳的數量範圍不正確,正確的範圍是%d--%d!\n",a*2,a*4);

else

printf("數量不能為負!\n");

8樓:匿名使用者

給你兩個建議、第

一、如果輸入腳數大於頭數怎麼辦?、、第

二、如果算出來的數為小數點怎麼辦?、、最後、給你說說scanf這個函式、必須有 &這個符號 、在這個階段你只需要記住、、scanf("%d%d",h,f);需要改為scanf("%d%d",&h,&f);、、

9樓:匿名使用者

用遍歷啊巢狀迴圈!!

10樓:匿名使用者

scanf("%d%d",h,f); 這句改為scanf("%d%d",&h,&f);

用c語言編寫雞兔同籠問題

11樓:匿名使用者

int m = 0, n = 0;

int a, b;

printf("總頭數");

scanf("%d",&n);

printf("總腿數");

scanf("%d",&m);

b = (m - 2n )/2

a = n - b;

if( a + b == n && 2 * a + 4 * b = m && a >= 0 && b >= 0)

printf("雞和兔各%d, %d只", a, b);

else

printf("no answer");

12樓:匿名使用者

#include

void main( )

for(c=0;c<=h;c++)

for(r=1;r<=h;r++) //這句改成:for(r=0; r <= h-c; r++)好點,減少的迴圈的次數,加了效率

if( ret == 39) /*作用是輸入一次成功後,結束大迴圈, 可以不要*/

break;}}

13樓:育知同創教育

#include

#define max 10

int main()

return 0;

}主要明白雞隻有兩隻腳,兔有四隻腳。

雞兔同籠問題,雞兔同籠的原理

1.學校舉行乒乓球比賽,6個乒乓球檯上共有16人進行比賽。單打和雙打各有多少張球桌?假設全是雙打 6 4 24人 與實際人數相比多出的人數 24 16 8人。每張單打多出的人數 4 2 2人 求單打張數 8 2 4張。求雙打張數 6 4 2張 2.五年級進行數學競賽,共有20道題。做對1道得5分,做...

雞兔同籠問題

算術法 原來麵粉是大米的2倍。如果每天吃大米15千克。每天吃麵粉15 2 30千克。那麼麵粉和大米同時吃完。現在每天少吃麵粉 30 20 10千克。最後剩下80千克麵粉。一共吃了 80 10 8天。原來,大米有 15 8 120千克。麵粉有 120 2 240千克。方程 解 設原有大米x千克,麵粉2...

雞兔同籠的公式,雞兔同籠怎麼算?

雞兔同籠解題思路 如果先假設它們全是雞,於是根據雞兔的總數就可以算出在假設下共有幾隻腳,把這樣得到的腳數與題中給出的腳數相比較,看看差多少,每差2只腳就說明有1只兔,將所差的腳數除以2,就可以算出共有多少隻兔。概括起來,解雞兔同籠題的基本關係式是 兔數 實際腳數 每隻雞腳數 雞兔總數 每隻兔子腳數 ...