C語言關於稜形的演算法,請高手解釋一下

2022-11-29 21:11:17 字數 528 閱讀 6213

1樓:暮秋瞳

3全部你好abs()這個函式是求一個數的絕對值,需要加math.h標頭檔案,這裡列印菱形是從-2到2是以0為原點,第一個for是迴圈次數 也就是列印幾行。第二個for 是控制每行列印的空格和*的數量以構成菱形。

i=-2 j=-2時 abs(i)+abs(j)>2 不滿足 <=2,所以列印「」(空格)也就是當i=-2時只有j=0時才滿足和<=2從而才列印一個*。那當第一個裡層for結束後,第一行列印效果就是兩個空格一個*兩個空格,一次裡層for結束之後就代表一行列印完了所以要列印一個回車換行。 依次類推:

五行列印完之後就呈菱形狀了, 原理就是以0為原心,確定每行列印的*和空格數量。初學可以看看譚浩強的手冊,有不懂的再問我 謝謝!

2樓:橙心橙願

#include "stdio.h"

void main()

{int i,j,k,n;

printf("請輸入行數:");

scanf("%d",&n);

for(i=0;i

關於C語言中的演算法,C語言中的演算法是指什麼

一定要理解。演算法是程式的核心之一,有個著名的公式說 程式 演算法 資料結構。演算法,比如說你要做一個程式是1 2 3 100 n 求n 那麼你的演算法就是怎麼求n的過程,你的演算法可以是先宣告變數i k 100,然後 k k 1 此時k 99 然後i i k i 100 99 再k k 1 k 9...

c語言函式遞迴呼叫問題(請高手幫忙詳細解釋)

如果只有一個盤,直接把它從one移到three位置 若有n個盤,就假設有n 1個可以知道怎麼移,那麼把上邊n 1個盤從one移到two位置,再把最底第n個盤從one移到three位置,最後把其餘n 1個從two移到three位置。問題就解決了。對於n 1可以依靠n 2解決,以此類推,直到2個盤時可以...

c語言問題,請高手幫忙解釋一下這個程式,謝謝了

a定義了一個陣列 並把a的地址賦給指標p clrscr 是清屏函式 for i 0 i 4 i a i p 在迴圈裡,p 很有專迷惑性,考察 和 兩個操屬作符號的優先順序,的優先順序更高些。所以a i p 表示先把 p指向的數值賦給a i 然後p 就是指向下一個地址。整個迴圈,沒有改變a i 的數值...