C語言關於「百錢百雞」的問題,C語言 百錢百雞問題

2022-07-29 02:10:02 字數 4502 閱讀 2659

1樓:匿名使用者

int all = 100;

int cock = 0;

int hen = 0;

int chk = 0;

for ( cock = 1; cock <= 100;cock++ )

,母雞,小雞", cock, hen, chk);}}}}

}c#編寫的 思路是一樣的  小雞除3 可能不一定是3的整數倍 而且又能符合總和是100的哦 加上乙個判斷 小雞的數量是3的整數倍才可以

2樓:在大圍山拉小提琴的冷杉

for(cock=0;cock<=20;cock++);

for(hen=0;hen<=33;hen++);

for(chicken=0;chicken<=100;chicken++);

if(5*cock+3*hen+chicken/3==100);

後面的分號導致這個if語句和所有的for迴圈語句都是空語句

而且在最內層的for迴圈內,你是使用chicken作為迴圈標尺的,但是你每次進去就首先給chicken賦值。這導致了這個迴圈是錯誤的。

最內層的for迴圈內應該寫成

for(chicken=0;chicken<=100;chicken++);

由於你直接chicken/3,結果是取整的,有可能導致不正確。所以,要麼增加判斷條件chicken可以被3整除,要麼最內層的for迴圈裡寫成

for(chicken=0;chicken<=100; chicken+=3 )

c語言:百錢百雞問題

3樓:旅初彤

#include

void main()}}}

c語言的百錢買百雞問題。

4樓:刀無極啊

我國古代數學家張丘建在《算經》一書中曾提出過著名的「百錢買百雞」問題,該問題敘述如下:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,則翁、母、雛各幾何?

翻譯過來,意思是公雞乙個五塊錢,母雞乙個三塊錢,小雞三個一塊錢,現在要用一百塊錢買一百隻雞,問公雞、母雞、小雞各多少只?

題目分析

如果用數學的方法解決百錢買百雞問題,可將該問題抽象成方程式組。設公雞x只,母雞y只,小雞z只,得到以下方程式組:

a:5x+3y+1/3z = 100

b:x+y+z = 100

c:0 <= x <= 100

d:0 <= y <= 100

e:0 <= z <= 100

如果用解方程的方式解這道題需要進行多次猜解,計算機的乙個優勢就是計算速度特別暴力並且無怨無悔,所以我們可以欺負她、蹂躪她!因此我們用窮舉法的方式來解題,需要101^3次猜解,但對於計算機來說,小case!

**清單:

#include int main()

}return 0;

}執行結果:百元買百雞的問題所有可能的解如下:

公雞 0 只,母雞 25 只,小雞 75 只

公雞 4 只,母雞 18 只,小雞 78 只

公雞 8 只,母雞 11 只,小雞 81 只

公雞 12 只,母雞 4 只,小雞 84 只

5樓:葉片舟

//不知道你的陣列幹什麼用的

#include "stdio.h"

struct node

;int main()}}

return 0;}

6樓:

#include

int main()}}

}return 0;

}求採納。

c語言中的百錢百雞問題。

7樓:

//在源程式上修改,有錯誤的或有新建議的在註釋上寫有#include "stdio.h"   //拼寫錯誤int main()

hens=1;

cocks++;     //應該用半形的分號              }}

急!!!c語言程式設計 百錢買百雞問題等~

8樓:出生神探

第一題:

int x,y,z;//對應買的公母小雞

x+y+z=100;

5x+3y+z/3=100;

14x+8y=200;//上面2個得出這個7x+4y=100;//化簡到這個

for(x=1;x<100;x++)

}對應第2提

沒整明白,,整懂了再發。。

int a=;

int b=new int[17];//存從圈裡出來的人int count=1;

int j=0;//b陣列的下標

while(j>=17)

else

for(int i=c;i

b[j++]= a[count];

}count++;

}不知道行不行。。。汗。

9樓:匿名使用者

說下程式的方法,具體編就很簡單了。

1.迴圈語句。先設定分別是a b c三隻。

外迴圈a=1開始步進,內迴圈b也從1步進,算出c的值,判斷c的值是否是整數,如果不是則b=2,,,如此下去直到b=(100-5a-1/3c)為止。如果都沒滿足 內迴圈結束。a=2,然後如此下去。

一旦c是整數,則退出迴圈,輸出a b c的值即可。

2.定義2個陣列,第乙個陣列賦值1-17.第二個空陣列。然後定義的迴圈語句從1到7如此迴圈並同時如果到7,第乙個陣列此時的值付個第二個陣列。也要用到內外迴圈。

10樓:匿名使用者

##include

void main ()

發現你的題目有點問題

怎麼買都是全買小雞,公雞母雞數量全為0

c語言(百錢買百雞的問題)! 25

11樓:匿名使用者

1. 沒錯

2. 是

3. == 代表判斷是否相等 , 如果相等就是得到正確答案,就執行後面的printf輸出結果

4. ++代表加1. 實際就是 hens = hens + 1

12樓:匿名使用者

hens 要初始化啊,沒具體值是不能用的哦。

你要買100隻雞啊,這個條件當然需要。

然後根據5.0*cocks+3.0*hens+chicks/3.0==100.0

可以合併成1個2員一次方程,在用whlie語句,窮舉0-19的cocks,和0-33的hens。結果就出來了啊。。自己看吧

13樓:

問1;while (cocks<=19)

{hens=0;

這是說當公雞的數目大於或等於19時,母雞的數目下限為0,問2;因為題目要求cocks+hens+chicks(就是所有雞)=100

問3;5.0金錢買乙隻cocks,3.0金錢買乙隻hens,1金錢買3只chicks

chicks/3.0實際是乘法,1/3.0*chicks==是關係運算子,=是賦值符

問4;許找下乙個解

14樓:

1.在c語言中,while用來控制迴圈結構:

while (條件表示式)

所以當cocks<=19時,執行hens=0,所以母雞是0.

2這是乙個賦值語句,把100-cocks-hens的值賦值給chicks,所以小雞(chicks)的數目是由100元減去公雞和母雞所得到的

3c語言中「=」號是賦值,例如chicks=100-cocks-hens中的=號就是賦值符號,而不是等號,因為chicks是未知的,不可能劃等號;「==」才是數學中的等號,一定要注意哦。這是個if條件語句,if(條件)只有當條件成立時才執行下面的語句。

4hens++就是:hens=hens+1,每執行一次hens就要加一;cocks++就是:cocks=cocks+1.

這個程式是由兩個while迴圈和乙個if條件語句構成的,你只要把while和if弄懂我相信你這道題目就ok了,而不是你數學不好的原因哦!

c語言的百錢百雞問題。

15樓:匿名使用者

第一處:因為輸出函式的格式控制符是%s,這個的意思是輸出乙個字串,所以後面對應的三個引數應該是字串,字串是要加「」,所以後面三個引數都有「」

第二處:外層迴圈是窮舉公雞的個數,內層窮舉母雞的,因為公雞母雞都窮舉了,所以小雞只要用100去減他們就行了,內層裡面的hens++; 是改變迴圈變數的值,也就是窮舉母雞的個數,將母雞從乙隻開始窮舉,一直到33只為止

第三處:因為當公雞取乙隻的時候,母雞可取的可能性是1-33只,當公雞取2隻時,母雞取的可能性也是1-33,所以跳出內層迴圈時,母雞的值又要從1開始,因此該句hens=1; 是把母雞的值歸1

第四處:也是同第二處,改變外層迴圈變數的值,也就是改變公雞的個數,將公雞從第一只開始舉例,一直到20只為止

求c語言百雞問題的解,求C語言 百雞問題的解

我想說的是 我這種方法迴圈最簡單 且語句正確 沒有多解現象 格式美觀 include void main include main 執行結果為 4種情況 公雞0只,母雞25只,小雞75只 公雞4只,母雞18只,小雞78只 公雞8只,母雞11只,小雞81只 公雞12只,母雞4只,小雞84只 百錢買百雞...

關於C語言問題,關於C語言的問題

迴圈3次 5成立,結果 x 1,y 4,z 2。5成立,結果 x 2,y 3,z 1。5成立,結果 x 3,y 2,z 0。5失敗且不再執行 右側的 x,退出迴圈。所以最後結果是x 3 y 2 z 1,b正確。關於c語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順...

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...