7777777將此三角陣用C語言輸出,要用到迴圈。 55555 333 1

時間 2025-02-05 11:30:24

pascal用for迴圈結構語句程式設計並輸出下圖: 1 333 55555 7777777

1樓:網友

思路:利用二重迴圈。

儘管通過一些附加的判斷,也能完成本題,但似乎數學的意味少了。

對於本題來說,巧妙利用pascal中的數學函式,可以優化一下**,就是下面的版本。

min(x,y)表示x,y中較小的那個數;

有7行,最外層就用 i 從1 迴圈到 7 ;

每行都是輸出奇數,1~4行還好判斷,輸出(2i-1)個(2i-1)就行了;

5~7行稍微麻煩點,通過分析,需要輸出 2*min(i,8-i)-1 個 2*min(i,8-i)-1 ,代進去看看:

第6行,i=6,min(i,8-i)的結果是2,因此2*min(i,8-i)-1 的結果是3,即輸出3個3,正好符合(這個部分我想了很久)。

至於每行開頭空格的個數,其實用乙個 abs(4-i) 就可以了。(絕對值函式)

優化版:uses math; //呼叫數學庫;

var i,j:integer;

beginfor i:=1 to 7 do

beginfor j:=1 to abs(4-i) do write(' '); //輸出空格;

for j:=1 to 2*min(i,8-i)-1 do

write(2*min(i,8-i)-1);

writeln;

end;end.輸出:

2樓:網友

1、這種問題弱到爆。能用就結貼,人的基本素質。

2、另外那位搞「優化」的哥們,提點小小建議:您的**只是長度短了一點點,效率沒有提高,反而下降。您知道abs和min函式編譯後多長麼?

照這個道理我直接用write輸出字元豈不是更短,一行**就行了。此外如果針對7這個數本身的特性來寫程式,是不是太那個了,如果我最大輸出的是9呢?或者是字元'q'呢?

program rhombus;

constmax = 7;

vari, j, step: integer;

begini := 1;

step := 2;

while i > 0 do

beginfor j := 1 to (max - i) div 2 do write(#

for j := 1 to i do write(i);

writeln;

if i >= max then step := -step;

inc(i, step);

end;readln;

end.

3樓:網友

哈哈,上學時常弄這個。

program xx;

varm, n: integer;

beginfor m := 1 to 7 do

beginif m mod 2 <>0 then for n := 1 to m do write(n);

writeln;

end;for m := 5 downto 1 dobegin

if m mod 2 <>0 then for n := 1 to m do write(n);

writeln;

end;end.

現編的,沒除錯,自己試試吧(我這知道你的題意是否是分行?我加了writeln。如果不是分行就去掉它)

c語言 輸出如下圖形 1 333 55555 7777777 999999999?

4樓:網友

下面就是該題輸出三角形金字塔**:

# include

int main()

return 0;}

c語言程式設計程式輸出1 22 333 4444

5樓:

#include

void shuchu(int n)

int main()

其實吧,寫法和上面的一樣。

上下三角矩陣是什麼,矩陣中,上,下三角陣有什麼條件?

其實上下三角是針對行列式說的,一般不說矩陣是上三角或是下三角的。上三角是指對角線一下的元素都是0的行列式,下三角是指對角線以上的元素都是0的行列式 矩陣中,上,下三角陣有什麼條件?三角形矩陣沒有這樣複雜的要求 如果是上三角形矩陣 就要求對角線上方有非零元素 而下方元素都是零 同理下三角形矩陣就是 下...

c語言 編寫三角形面積計算,C語言 編寫三角形面積計算

include include double sin double x define pi 3.14159265int main 要不然自己實現sin函式,否則引進math標頭檔案還有scanf 仔細看看,我怎麼寫的 sin函式是數學公式,他的標頭檔案你沒有寫 加上 include 即可 把doub...

C語言 用陣列列印揚輝三角形

a 就是告訴你只能存個資料,也就是說你最多輸出行,再多就不行了!include void main int a i,j,n scanf d n printf a for i i n i n用來控制要輸出的楊輝三角的行數。for j j i j 第i行前面的空格個數為 i printf for j j...