當前位置:首頁 » 操作系統 » 列印棱形演算法

列印棱形演算法

發布時間: 2023-06-10 18:37:11

java列印菱形不是很懂,跪求每句的意思和作用。

importjava.util.Scanner;
class菱形{
publicstaticvoidmain(Stringargs[]){
introw;
Scannerkeyin=newScanner(System.in);
System.out.print("請輸入菱形的行數:");
row=keyin.nextInt(); //輸入的數字整數!
for(inti=1;i<=row/2+1;i++){//上半部分三角形:不用擔心輸入偶數,因為折半+1了;
repeat("",row/2+1-i);//空格:注意這是遞減
repeat("*",2*i-1);//星:注意這是遞減
System.out.println();//打完一排換行!
}
//下半部分三角形原理同上!
for(inti=row/2;i>=1;i--){
repeat("",row/2+1-i);//遞增
repeat("*",2*i-1);//遞減!
System.out.println();//換行!
}
}
publicstaticvoidrepeat(Stringc,intm){
for(inti=1;i<=m;i++)
System.out.print(c);
}
/**
*
*這個程序整體思路:把菱形分成上下兩個三角形在列印,因為菱形是奇數
*上半部分採用了折半+1的演算法,所有你輸入任何數都不怕!
*如果5,上面就是3下面就是2
*如果6上面就是4下面就是3
*空格採用的演算法與打出來的星,相反方式:一個遞增一個遞減!
*
*
*/
}

Ⅱ C語言的,編寫程序實現輸入任意行數n,顯示輸出菱形*圖案的演算法分析

1)分n行輸出(i賦初值為0):
2)第i行開頭先輸出n-i個空格(首行為第0行)
3)接著輸出 2i+1個*號,然後換行
4)i = i + 1;
5)若 i < n,則轉步驟2),否則演算法結束。

Ⅲ C++如何列印菱形

C++ 代碼如下:

#include <iostream>

using namespace std;

int main()

{

int n;

cin>>n;

cout<<"要得到的菱形的大小:"<<endl;

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

{

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

cout<<" ";

for(j=1;j<=i;++j)

cout<<"* ";

cout<<endl;

}

for( i=n;i>=1;--i)

{

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

cout<<" ";

for(j=1;j<=i;++j)

cout<<"* ";

cout<<endl;

}

return 0;

}

c++列印菱形圖示例圖:

1、上半層:

(3)列印棱形演算法擴展閱讀:

製作思路:

1、先來分析分割線上半部分的規律:

上半部分外層循環了4次,可以用一個循環來解決for(int i=0 ;i<4 ;i++)。

對比分析:

第一輪循環i=0的時候空格的列印次數是3,星星列印的次數是1

第二輪循環i=1的時候空格的列印次數是2,星星列印的次數是3。。

第三輪循環i=2的時候空格的列印次數是1,星星列印的次數是5。

第四輪循環i=3的時候空格的列印次數是0,星星列印的次數是7。

空格列印的循環次數隨著外層循環次數的增加而減少,這樣就很明顯看出空格列印的循環和外層循環的規律:for(int j=0;j<3-i;j++)。

星星列印增加循環次數都是外層循環的次數增加次數的2倍,這樣就很明顯看出星星列印的循環和外層循環的規律:for(int k=0;k<1+2*i;k++)。

2、再來就是分析分割線下半部分的規律:

下半部分外層循環了3次,可以用一個循環來解決for(int i=0 ;i<3 ;i++)

第一輪循環i=0的時候空格的列印次數是1,星星列印的次數是5。

第二輪循環i=1的時候空格的列印次數是2,星星列印的次數是3。

第三輪循環i=2的時候空格的列印次數是3,星星列印的次數是1。

空格列印的循環次數隨著外層循環次數的增加而增加,這樣就很明顯看出空格列印的循環和外層循環的規律:for(int j=0;j<1+i;j++)

星星列印循環次數隨外層循環的增加而減少,減少的規律是外層增加的2倍,這樣就很明顯看出星星列印的循環和外層循環的規律:for(int k=0;k<5-2*i;k++)。

熱點內容
喵喵試玩腳本 發布:2025-04-05 19:42:08 瀏覽:455
我的世界布吉島伺服器怎麼加材質包 發布:2025-04-05 19:32:27 瀏覽:594
ftp怎麼連接路由 發布:2025-04-05 19:20:52 瀏覽:232
手游腳本商城 發布:2025-04-05 19:08:23 瀏覽:799
摘星游戲腳本 發布:2025-04-05 18:49:51 瀏覽:590
c語言中k什麼意思 發布:2025-04-05 18:49:40 瀏覽:87
php在線編程 發布:2025-04-05 18:47:30 瀏覽:542
sqlserver運行 發布:2025-04-05 18:41:32 瀏覽:44
如何安卓遷移蘋果 發布:2025-04-05 18:35:03 瀏覽:577
c語言輸入處理 發布:2025-04-05 18:34:58 瀏覽:99