C 輸出乙個星號 ( ) 菱形

發布 教育 2024-07-14
4個回答
  1. 匿名使用者2024-01-30

    #include"iostream"

    #include

    using namespace std;

    void a(int i)

    int j,k;

    for(j=0;j<=7-i;j++)cout<<" ";輸出 0 到 7-i 空格,[j< (width) -i? ],你不能這樣理解,7可以大於你想輸出的數字,最星號線減去1除以2,你可以試試;

    for(k=0;k<2*i+1;k++)cout<<"*";輸出 2*i+1 星號,因為你的輸出是 1,3,5,7,9 等,所以用 2*i+1;

    cout<<"";

    int main()

    int i;

    for(i=0;i<3;i++)a(i);輸出是從一行到三行,如果要輸出九行,把i<3改成i<4,把11行改成5,全部計算出來;

    for(i=3;i>=0;i--)a(i);輸出從四行變為七行,這我可以遵循上述更改;

    system("pause");

  2. 匿名使用者2024-01-29

    編寫乙個程式,根據使用者輸入的總行數列印出菱形。

    本主題的主要目的是找出規則並檢查讀者的邏輯思維。

    您可以從第一行開始並瀏覽所有列,也可以從第一列開始並瀏覽所有行。

    以下過程從第一行開始,遍歷所有列。

    設菱形的總行數為線,列總數為列,當前行為為 i,當前列為 j。 上半部分的模式與後半部分不同,應單獨討論。

    我們看一下星號(*),想想星號的輸出條件是什麼,總結了以下規則。

    1)對於上半部分(包括中間行),當前行和當前列滿足以下關係以輸出星號:

    j>=(column+1) 2-(i-1) (column+1) 2-(i-1) 是第 i 行最左邊的星號。

    j<=(column+1) 2+(i-1) (column+1) 2+(i-1) 是第 i 行最右邊的星號。

    2)對於下半部分,當前行和當前列滿足以下關係以輸出星號:

    j>=(column+1) 2-(line-i) (column+1) 2-(line-i) 是第 i 行中最左邊的星號。

    j<=(column+1) 2+(line-i) (column+1) 2+(line-i) 是第 i 行中最右邊的星號。

    如果不滿足上述條件,將輸出乙個空格。

    於是我寫了以下**:

    #include

    #include

    int main()

    column = line;總行數和總列數相同。

    for(i=1; i<=line; i++)else

    elseelse}}

    printf("");

    return 0;

    結果:請輸入鑽石的行數(奇數):11

  3. 匿名使用者2024-01-28

    1. 開啟可視 C++ 檔案 - 新建 - 檔案 - C++ 原始檔

    2. 進入預處理命令和main功能,如下圖所示:

    3. 定義變數並確定行數,如下圖所示

    4.確定空格數,如下圖所示

    5.確定每個行星號的編號並繞行,如下圖所示

    6. 按如下方式執行:

  4. 匿名使用者2024-01-27

    以下是對**的解釋:

    首先定義兩個巨集,中間值為40中第乙個*列出輸出,星號表示多個“*”或“0”字元,11行輸入n個值,然後輸出行數和中間最寬的行數為2*n-1,第乙個for迴圈用於輸出上三角形, 第二個是輸出下三角形。當輸出sp-1為空格時,同時輸出2*i-1“*”或“0”個字元,這是我們自己決定的,這裡有必要解釋一下,關於17行的語言**:

    printf("%*c %.s", sp - 1, ' ', 2*i-1, star);

    首先,我們來談談 %* 中的 * 符號,這裡稱為賦值抑制器。 他的角色是:標準陳述:

    需要星號(assignment suppressor)來掃瞄獲勝輸入的輸入,但結果沒有儲存,帶星號的描述與輸入資料儲存位址不對應,用它來跳出乙個輸入資料項(這是對scanf輸入的),這裡,對於printf,以第11行**為例, %*c 字元 “*” 表示輸出欄位由對應的輸出項確定,上面 “*” 對應的輸出項是 sp-1(假設 sp-1 等於 4),則 %* c 等價於 %4c,所以他輸出到 %4c' '(空格)。 同樣對應於 %*s 與此類似,但請注意,此處為 %

    s 而不是 %*s

    有點裡面'.'如果你錯誤地寫了後者,你就不會得到正確的結果! 然後 %*s 和 %*s 有什麼區別? %*s 類似於 %*c,其中 c 輸出乙個字元,其 ASCII 程式碼是輸出元值,s 表示輸出字串,1) 輸入或輸出格式為“%c”的字元,即逐個字元輸入和輸出。

    2)使用“%s”,整個字串是一次輸入或輸出。

    示例:如果 s = abcdef

    然後對於 printf("%3s, %5s", s, s, s, s);然後輸出。

    abcdef, ab,abcd ,abcde

    如果你明白了這一點,相信大家都會知道%*如何使用它!

    這裡值得一提的是,巨集觀星定義中的字元數必須做得足夠多,否則當我們輸入大量n時,我們可能無法得到我們期望的結果,即輸出可能不是菱形,可以驗證一下,那麼為什麼會這樣,因為%*S輸出總是要靠星形,當電流輸入非常大的時候,而星形不夠提供,那麼當然會有問題,使用星號的字元數,我們也可以相應地改變輸出模式,可以實現各種不同的圖形,如果有興趣的話不妨試試。

相關回答
10個回答2024-07-14

房東你好。 星號 * 表示指標,char 只能表示字元,char* 表示字串。 >>>More

6個回答2024-07-14

看看這個:使用系統;

using ; >>>More

5個回答2024-07-14

定義乙個二維字元陣列,有的儲存在空格中(空格的ASCII碼值為32),有的儲存在*中(ASCII碼值為42),然後用迴圈語句輸出陣列。

4個回答2024-07-14

嗯,樓上的答案都很好,二樓wals3310100的答案是目前找回文數量的最好方法,下面我再給出另一種考慮方式: >>>More

1個回答2024-07-14

總結。 親愛的,九十九乘法表以三角形形式的具體輸出解釋如下:1親愛的,第一件事就是用C語言程式設計把九十九乘法表輸出成三角形的形式,如下圖所示: >>>More