PASCAL 用一維陣列從鍵盤輸入數,要求按輸入時相反的順序輸出這數

2023-01-21 15:40:38 字數 966 閱讀 1395

1樓:匿名使用者

你這樣只輸出了一個數啊!

你沒加 begin ... end;

按你的思路,應該這樣做:

var a:array[1..10]of integer;

b:array[1..10]of integer;

i:integer;

begin

for i:=1 to 10 do read(a[i]);

for i:=1 to 10 do b[i]=a[11-i];

for i:=1 to 10 do write(b[i]:4);

writeln;

end.

這樣就可以了。謝謝。

2樓:夢向酷

a[i]:=a[11-i];

這句話錯誤了

你的意思是給這個陣列重新賦值是把?

重新複製要不用個臨時物件進行資料交換

要不交換地址

而且只能交換一半(後面重複了)

3樓:匿名使用者

var a:array[1..10]of integer;

i:integer;

begin //開始for i:=1 to 10 do

read(a[i]); //讀入0,1,2,3,4,5,6,7,8,9;這時,

i=10

a[i]:=a[11-i]; //a[10]:=a[11-10];則a[10]=0;

write(a[i]:4); //由於i始終沒變,是10;就只輸出了0

end.

4樓:往事已隨流年

當你執行a[i]:=a[11-i]時,就有資料被覆蓋了。

比如:a[1]:=a[11-1],那麼a[1]中原來存的數就丟失了

pascal一維陣列如何鍵盤讀入上下標

這個是動態陣列。但是動態陣列只能從下標0開始,因此為了安全起見,不應該直接引用陣列的下標或上標,而是用過用low 和high 如下 varn array of longint 定義 宣告 動態陣列 i longint s real len integer 陣列的長度 begin while not ...

用兩個一維陣列好還是使用二維陣列好

當然bai是兩個一維陣列速度快了du 因為兩個arraya 6 arrayb 6 各分配有zhi7個元 dao素 包括0下標專 的空間。而一個arrayab 6,6 則需要屬分配7 7 49個元素的空間。如樓主所舉的例子,本人建議是用二給陣列,如果只有1,2,3,4,5,6,7和7,6,5,4,3,...

定義長度為10的一維整形陣列,並從鍵盤給每元素賦值,並輸出到螢幕,每行顯示數字

include stdafx.h include stdlib.h main for i 0 i元素 free a include main printf n 1020 3040 5060 你是說用什麼語言寫?定義一個有10個元素的一維整型陣列,從鍵盤輸入給陣列的每個元素賦值,並把每個元素進行輸出。...