1. 程式人生 > >並排列印不同形狀三角形(Modified Triangle Printing Program)

並排列印不同形狀三角形(Modified Triangle Printing Program)

如果不是困了,應該能在半小時內搞定。可實際花費1個半小時有餘。

不過,結果還是很驚豔的,4個三角形拼成了一個大寫的W(Win,愛拼才會贏)。

程式碼如下:

//JHTP Exercise 5.22: Modified Triangle Printing Program
//by [email protected]
/*(Modified Triangle Printing Program) Modify Exercise 5.15 to combine your code from
the four separate triangles of asterisks such that all four patterns print side by side. [Hint: Make clever
use of nested for loops.]*/
import java.util.Scanner;

public class TrianglePrint
{
public static void main(String[] args)
{
	Scanner input=new Scanner(System.in);
	System.out.print("請輸入三角形的大小(整數):");
	int size=input.nextInt();

	for (int i=0;i<size;i++){
		for (int j=0;j<=4*size-1;j++){
			if(j<=i && j<=size)
				System.out.print("*");
			else if(j>=size && j<2*size && 2*size-j>i )
				System.out.print("*");
			else if(j>=2*size && j<3*size && j-2*size>=i )
				System.out.print("*");
			else if(j>=3*size && j<4*size && 4*size-j-1<=i )
				System.out.print("*");
			else
				System.out.print(" ");
		}
		System.out.println();
	
	}
}
}

執行結果:

請輸入三角形的大小(整數):20
*                   ****************************************                   *
**                  *******************  *******************                  **
***                 ******************    ******************                 ***
****                *****************      *****************                ****
*****               ****************        ****************               *****
******              ***************          ***************              ******
*******             **************            **************             *******
********            *************              *************            ********
*********           ************                ************           *********
**********          ***********                  ***********          **********
***********         **********                    **********         ***********
************        *********                      *********        ************
*************       ********                        ********       *************
**************      *******                          *******      **************
***************     ******                            ******     ***************
****************    *****                              *****    ****************
*****************   ****                                ****   *****************
******************  ***                                  ***  ******************
******************* **                                    ** *******************
*********************                                      *********************

相關推薦

並排列印不同形狀三角形Modified Triangle Printing Program

如果不是困了,應該能在半小時內搞定。可實際花費1個半小時有餘。 不過,結果還是很驚豔的,4個三角形拼成了一個大寫的W(Win,愛拼才會贏)。 程式碼如下: //JHTP Exercise 5.22: Modified Triangle Printing Program /

列印各種形狀三角形Triangle Printing Program

現在發現,列印各種圖形還真是要動腦筋的: 1. 發現圖形的規律 2. 確定迴圈語句的控制變數的初始值、增量和迴圈條件 除錯成功的一瞬間,感覺還是挺有成就感的。 另外發現,在本例中,使用巢狀for迴圈只需4行程式碼,而使用while迴圈實現同樣的功能竟然用了11行程式碼。

使用C語言列印不同星號圖案矩形 平行四邊形 三角形

獻給大一或大二的學弟學妹們和在自學 C語言的同志們。 列印自定義行數的矩形 列印效果: 參考程式碼: #include<stdio.h> int main

三種方式列印楊輝三角形JAVA實現

  1 //採用一個二維陣列列印楊輝三角 2 class Yanghui1 { 3 public static void main(String[] args) 4 { 5 //設定楊輝三角的行數 6 int num = 10

列印楊輝三角形PascalTriangle

楊輝三角形又稱Pascal三角形,它的第i+1行是(a+b)^n的展開式的係數。 它的一個重要性質是:三角形中的每個數字等於它兩肩上的數字相加。 下面給出了楊輝三角形的前4行: 1 1 1 1 2 1 1 3 3 1 下面給出實現程式碼: import java

使用C程式列印輸出等腰三角形或者是金字塔

</pre><pre name="code" class="cpp">#include "stdio.h" void main() { int i=1,j; while(i<=8) { for(j=1;j<=8-i;j++)

列印一個5行的直角三角形至少2種方法

馬濤 * April 14th,2009 */public class Triangle1{  public static void main(String[] args)  {     // 用兩個for迴圈來建立正三角形     System.out.println("用兩個for迴圈來建立正三角形")

射線和三角形的相交檢測ray triangle intersection test

概述 射線和三角形的相交檢測是遊戲程式設計中一個常見的問題,最典型的應用就是拾取(Picking),本文介紹一個最常見的方法,這個方法也是DirectX中採用的方法,該方法速度快,而且儲存空間少。先講述理論,然後給出對應的程式碼實現。          理論部分 一個直觀的方法 我想大多數人在看到這

動態三角形動態規劃思想入門

star ber name 做到 tar triangle 解決 算法 log 個人心得:動態規劃是一種隸屬於決策學的一個算法思想,他能夠很好的解決多階段決策問題,這種思想對於我們的生活還是科研都是必不可少的, 需要好生體會,學會動態方程的轉移,做到具體問題具體分析。 那這

從上往下列印二叉樹 層序遍歷JS演算法

   從上往下打印出二叉樹的每個節點,同層節點從左至右列印  //給定節點結構 /* function TreeNode(x) {     this.val = x;     this.left = nul

改進的格拉姆-施密特正交化modified Gram-Schmidt Process

        最近在重新學習線性代數,學習的教材是MIT Gilbert Strang 教授的《INTRODUCTION TO LINEAR ALGEBRA》,在第4.4章節格拉姆-施密特正交化時,書中章節末尾介紹了一種改進的格拉姆-施密特正交化方法,但書中給出了公式,省略

spring boot 頁面根路徑獲取和jsp獲取的不同之處粘貼即用

獲取 oot src nbsp bsp min gin str 2.0 不同之處已做高亮。 jsp 寫法: <script type="text/javascript" src="${pageContext.request.contextPath }/js/jque

劍指Offer------把二叉樹列印成多行層序遍歷

題目描述 從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出一行。 <分析>: 本題就是多了個條件 一層輸出一行 那麼就多設定兩個變數即可, 一個此行開始start,另一個此行

VOR/DME進近與ILS進近的不同之處摘錄轉載feeyo.com

問:最近連續幾次上班都遇到飛機作VOR/DME 進近,發現相對ILS,飛機入口高度都有點偏高,速度也大,很多跑道頭脫離的。所以,我想請教下各位FF,能都給小弟解釋下VOR/DME進近的一些要素,具體在操作上與ILS有什麼不同。順便,za說說NDB/DME吧!另外,VOR/DM

4. Python列印九九乘法表及回顧格式化輸出

列印九九乘法表 1*1=1 1*2=2  2*2=4 .......... 思路:利用兩重迴圈分別表示兩個因數 #思路:用兩重迴圈分別表示兩個因數 i = 1 while i<=9: j=1 while j<=i: pri

列印自身的程式python和c版

python版 me='me=%r\nprint me %% me' print me % me 網上流傳的c版 #include <stdio.h> char* recurse = "#include <stdio.h>%cchar* rec

輸入三角形的3條邊長均為正整數,如果不能構成一個三角形,則輸出“not a triangle”;如果能夠構成一個直角三角形,則輸出“yes”;如果不能構成直角三角形,則輸出“no”。

題目描述 輸入三角形的3條邊長(均為正整數),如果不能構成一個三角形,則輸出“not a triangle”;如果能夠構成一個直角三角形,則輸出“yes”;如果不能構成直角三角形,則輸出“no”。 請將下面的程式填寫完整。 #include <stdio.h> int m

LeetCode刷題Easy篇列印楊輝三角Pascal's Triangle---動態規劃

題目 Example: Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 我的嘗試 我的程式碼因為leetcode缺少list介面的addAll方法,無法測試通過,我的思路是

JAVA列印楊輝三角等腰三角形輸出

1、詳細程式碼 import java.util.Scanner; public class coding3 { public static void main(String[] args) { System.out.println("輸出行數:"); Scanner scan =

列印一個有n層的直角三角形Java

package firstclasss; import java.util.*;; public class HelloData { public int PrintTriangle(int n){ int last = 0 ; for(int i = 1 ; i<= n ;