亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何打印下面的星形圖案

如何打印下面的星形圖案

C#
HUWWW 2023-07-22 16:14:35
我無法得到這個答案:***************多維數組,嵌套 ( do..while, while, for)char[,] stars = new char[5, 3];for (int i = 0; i < 5; i++) {    for(int x=0;x<3;x++)    {        stars[i,x]=char.Parse("*");        Console.Write(stars[i, x]);我想要獲得 5 顆“*”星,然后在新行中獲得 4 顆星,然后在新行中獲得 3 顆星,然后在新行中獲得 1 顆星
查看完整描述

2 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

這里你需要了解背后的模式*。


你的程序中的星形模式是,


0st Line : 5 starts                     //Considering starting index is 0

1st Line : 4 starts                    // starts = n starts - Line no. where n = 5

2nd Line : 3 starts

3rd Line : 2 starts

4th Line : 1 starts

IE


單行中的星星數量 = n 開始 - 行號 // 其中 n = 5


所以你的代碼看起來像,


int n = 5;


for (int i = 0; i < n; i++)    

{

    for (int j = 0; j < n - i; j++)    

    {                 //^^^^^ n - i is key behind this * pattern

        Console.Write("*");     

    }

    Console.WriteLine();  

}


查看完整回答
反對 回復 2023-07-22
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

由于這不是關于數組索引或地址計算,而是關于實際的可數對象(星),所以我認為基于 1 的索引在這里更有意義。


此外,星星的數量應該減少,因此倒數也更有意義:


for (int numStars = 5; numStars >= 1; --numStars)

{

    for (int star = 1; star <= numStars; ++star)

        Console.Write("*");

    Console.WriteLine();

}


查看完整回答
反對 回復 2023-07-22
  • 2 回答
  • 0 關注
  • 139 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號