用PASCAL語言做 用陣列做 25

2025-03-14 08:10:27 字數 1625 閱讀 3953

pascal 程式設計問題 (剛入門pascal,才學到迴圈,陣列,字串什麼的都沒學)

1樓:網友

雙重迴圈你應該會了吧,列印圖形自古以來就只有兩種演算法,一種是老老實實的對每個點進行描述,另一種是找到這些點的規律,不用說也知道你需要的是第二種。

要列印乙個邊長為n的直角三角形,我猜想題目要求應該還有等腰兩個字,也就是45°的直角三角形,我們會需要一塊「畫布」:乙個n*n大小的畫布,我們用空格字元來表示空白畫布,我們用*字元來表示乙個點,那麼將採用乙個雙重巢狀迴圈來列印畫布,一層列印縱向一層列印橫向,縱向的迴圈體很簡單,執行橫向的迴圈體和換行,橫向的迴圈體裡邊巢狀乙個條件語句,if,如果當前點滿足圖形要求則列印成*,否則列印成空格。

再說圖形要求,我們知道我們的「畫布」座標系原點在左上角,右是x軸正向,下是y軸正向,等直三角形的邊應該就可以求出來了,x=0,y=0,y=n-x-1,知道三條邊的方程,題目就做完了,pascal語法我不瞭解,給你寫個c的**,看了上邊的思路你應該能看懂了:

int main()else

printf("");列印換行。

2樓:防彈的

要看你要什麼樣的直角三角形。。。

1.直角在左上角。

vari,j,n:integer;

beginreadln(n);

for i:=n downto 1 do

beginfor j:=1 to i dowrite('*

writeln;

end;end.

2.直角在左下角。

vari,j,n:integer;

beginreadln(n);

for i:=1 to n do

beginfor j:=1 to i dowrite('*

writeln;

end;end.

3.直角在右上角。

vari,j,n:integer;

beginreadln(n);

for i:=0 to n-1 do

beginfor j:=1 to i dowrite('

for j:=1 to n-i do

write('*

writeln;

end;end;

4.直角在右下角。

vari,j,n:integer;

beginreadln(n);

for i:=n-1 downto 0 dobeginfor j:=1 to i dowrite('

for j:=1 to n-i do

write('*

writeln;

end;end.

至於原理很簡單,自己手工走一邊程式就清楚了。

希望我的能對你有所幫助。

pascal 布林型別陣列

3樓:善佩杉詩貝

不一定為false

如果你的系統當前記憶體分配不多,那麼運攜首行程式在記憶體分配的時候分配到空記憶體幾率大。(空值就是預設為或譁0,0在布林中就是為false)

但是如果你開了乙個很大的布林陣列,記得要fillchar初始化,否則很可能有其中一辯團數些資料是不為0的。

特別在競賽中,千萬別忘記了初始化。

用pascal語言找出1 100之間的孿生漂亮數

請先告訴我什麼是孿生漂亮數 type node record z,n longint end vari,r,j longint b array 0.1000,0.1 of longint procedure find ans longint vari,p longint a array 1.100 ...

用c語言動態三維陣列用C語言,動態三維陣列

1 先說二維,可以這麼理解 int n 3 有3個int 那麼,int m 5 3 有5個int 3 賦值時 n 1 3把3給1號 m 4 m 4 是個int 3 型別,這麼賦值,也就是這麼賦值 m 4 的 0 是5 m 4 0 5 m 4 1 9 m 4 2 4 懂了嗎?三維甚至更多維大同小異,比...

在c語言陣列中怎麼用,C語言陣列怎麼輸出全部?

真是沒轍.實在就多分配點空間.連結串列是動態的,如果用c 把動態分配放到類裡面,就給你一個介面,你是不是也認為那是動態的呢?c與vb不能比.vb有幾個是弄記憶體的?基本上是對的,scanf 裡的引數就是變數的地址陣列名你可以理解為這個陣列的起始地址 第一個元素的地址 比如你這裡的a,它就相當於是 a...