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只為止 我想說的是 我這種方法迴圈最簡單 且語句正確 沒有多解現象 格式美觀 include void main include main 執行結果為 4種情況 公雞0只,母雞25只,小雞75只 公雞4只,母雞18只,小雞78只 公雞8只,母雞11只,小雞81只 公雞12只,母雞4只,小雞84只 百錢買百雞... 迴圈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語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順... 符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...求c語言百雞問題的解,求C語言 百雞問題的解
關於C語言問題,關於C語言的問題
C語言問題,C語言問題