1樓:匿名使用者
錯誤:score:array[1..m,1..n] of real;
程式初始化時m可以是3萬多,如果是free pascal還可以是20億多,而且值不固定。可以是0,-5,1000000000000000,或者其他的值。因為m是變數。
而申請陣列肯定需要一個確切的大小,不能如此隨便。所以編譯器會報錯。設想一下,如果編譯器不報錯,而且能夠執行。
當m是-4的時候,計算機應當如何處理?或如果是201235612這樣的一個極大的數呢?
更改辦法
估計一下題目中m,n的最大值,然後用最大值申請(例如題目中的m,n最大是1000)
則申請score:array[1..1000,1..1000] of real;
2樓:羅馬角鬥士
陣列的大小必須先固定下來,必須是常數,而m,n是變數,所以會出錯程式可以改為
const
max_m = 100;
max_n = 100;
varscore:array [1..max_m, 1..max_n] of real;...
3樓:
它的中文應該是:
不能使用變數定義
請把m,n改成定量
Pascal程式中while語句
我明白你的問題了.你是想知道在迴圈體裡執行了某語句 假設中間一句 使迴圈條件不滿足時的情況怎樣吧。我給你描述下過程吧 首先一開始時,條件滿足時,執行while裡的語句。等裡面語句都執行完了,現在再看條件是否滿足。如果滿足再次執行,否則執行while下的語句。也就是說,在執行的過程中,是否滿足迴圈體條...
pascal 數字分組問題,Pascal記數問題
答案是這些 計算這個答案的pascal程式如下,做好心理準備,別笑疼了肚子 program project1 var a1,a2,a3,a4,a5,a6,a7,a8,a9 integer beginfor a1 1 to 9 do for a2 1 to 9 do if a2 a1 then for...
Pascal程式設計問題
那位仁兄的答案是錯的額,你判斷閏年有問題,真正閏年的定義是 年號是400的整倍數或4的整倍數 但非100的倍數 也就是說2000是閏年,2004年也是閏年,但3000年不是閏年。vara,b,c integer begin readln a,b casebof 1,3,5,7,8,10,12 c 3...