pascal程式問題

2022-11-03 01:55:50 字數 641 閱讀 4088

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...