1樓:匿名使用者
百錢買百雞...這是一人經典的程式迴圈程式
首先是a,b,c三個資料...分別代表公雞,母雞和小雞的數量
然後是a:=0;b:=0;初始值
while a<=100 div 3 do 這是第一層外迴圈 公雞的迴圈
公雞a值3錢...一共100錢...所以公雞a的數量<=100/3的值
a:=a+1;b:=0;在公雞的迴圈裡每次迴圈公雞a的數量+1 母雞清0
(公雞數量只能是0~100/3之間...所以迴圈中總會遇到正確的數)
while b<=(100-a) div 2 do 這是在第一層公雞迴圈裡的第二層迴圈 母雞的迴圈
這段是不是寫錯了? 應該是while b<=(100-3*a) div 2 do
母雞b值2錢...一共100錢...所以母雞b的數量<=(100-3*a)/b 100錢減公雞花的然後迴圈母雞的數量
b:=b+1;在第二層迴圈裡母雞b的數量每次+1
c:=(100-3*a-2*b)*3 這是第三層巢狀小雞的迴圈
小雞c三個值1錢...所以c的值應該是100錢減去前面迴圈的公雞a和母雞b所花的錢然後乘3就是小雞的數量
if a+b+c=100 then writeln(a,' ',b,' ',c); 把滿足a,b,c總數為100的結果列印
下面是另一種語句迴圈...結構和結果相同
不懂的話瞭解一下其語句的說明
2樓:夜貓香檳
請把題目粘上去。。。
pascal基礎問題,pascal問題
var a,b,c integer d boolean begind true while d true do beginreadomize a random 10 b random 10 c a b if c 18 then d false writeln a,b,c end end.有必要註明一...
pascal程式問題,Pascal程式問題
5.var a array 1.32767 of boolean b array 1.40 of integer i,s,t integer begin for i 1 to 32767 do a i false write 1 8,2 8 a 1 true b 1 1 b 2 2 s 2 repe...
PASCAL程式設計問題,PASCAL程式設計問題
我剛剛自己編的 試過了 肯定對 程式中公雞數量為a 母雞數量為b 小雞數量為c 輸出順序為 a1 b1 c1 a2 b2 c2 如下 for迴圈 vara,b,c integer begin for a 1 to 100 div 3 do for b 1 to 100 a div 2 do begi...