1. 程式人生 > >列印各種形狀三角形(Triangle Printing Program)

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

現在發現,列印各種圖形還真是要動腦筋的:

1. 發現圖形的規律

2. 確定迴圈語句的控制變數的初始值、增量和迴圈條件

除錯成功的一瞬間,感覺還是挺有成就感的。

另外發現,在本例中,使用巢狀for迴圈只需4行程式碼,而使用while迴圈實現同樣的功能竟然用了11行程式碼。

看來,Java語言的while, do...while, for都各有所長啊,“一個都不能少”大笑

程式碼如下:

//JHTP Exercise 5.15: Triangle Printing Program
//by [email protected]
/*(Triangle Printing Program) Write an application that displays the following patterns separately,
one below the other. Use for loops to generate the patterns. All asterisks (*) should be printed
by a single statement of the form System.out.print('*'); which causes the asterisks to print side
by side. A statement of the form System.out.println(); can be used to move to the next line. A
statement of the form System.out.print(' '); can be used to display a space for the last two patterns.
There should be no other output statements in the program. [Hint: The last two patterns require
that each line begin with an appropriate number of blank spaces.]*/
import java.util.Scanner;

public class Test
{
public static void main(String[] args)
{
	Scanner input=new Scanner(System.in);
	System.out.print("請輸入三角形的大小(整數):");
	int size=input.nextInt();
	int outterCounter=0;
	int innerCounter=0;
	
	//small to large(while statement)
	System.out.println("使用while迴圈語句列印左對齊三角形:");
	while(outterCounter<size){
		while (innerCounter<=outterCounter){
			System.out.print("*");
			innerCounter++;
		}
		System.out.println();
		outterCounter++;
		innerCounter=0;
	}
	
	//small to large(for statement)
	System.out.println("\n使用for迴圈語句列印左對齊三角形:");
	for (int i=0;i<size;i++){
		for (int j=0;j<=i;j++)
			System.out.print("*");
		System.out.println();
		}
	
	//large to small
	System.out.println("\n左對齊倒三角形:");
	for (int i=size;i>=0;i--){
		for (int j=0;j<=i;j++)
			System.out.print("*");
		System.out.println();
		}
	
	//small to large (right aligned)
	System.out.println("\n右對齊到三角形:");
	for (int i=0;i<size;i++){
		for (int j=0;j<size;j++){
			if (j<i)
				System.out.print(" ");
			else
				System.out.print("*");
		}
		System.out.println();
		}
	
	//large to small (right aligned)
	System.out.println("\n右對齊三角形:");
	for (int i=0;i<size;i++){
		for (int j=0;j<size;j++){
			if (j<size-i-1)
				System.out.print(" ");
			else
				System.out.print("*");
		}
		System.out.println();
		}
	}
}

執行結果:(注意:從Eclipse複製貼上執行結果時,發生了錯位,程式是對的)

請輸入三角形的大小(整數):18
使用while迴圈語句列印左對齊三角形:
*
**
***
****
*****
******
*******
********
*********
**********
***********
************
*************
**************
***************
****************
*****************
******************

使用for迴圈語句列印左對齊三角形:
*
**
***
****
*****
******
*******
********
*********
**********
***********
************
*************
**************
***************
****************
*****************
******************

左對齊倒三角形:
*******************
******************
*****************
****************
***************
**************
*************
************
***********
**********
*********
********
*******
******
*****
****
***
**
*

右對齊到三角形:
******************
 *****************
  ****************
   ***************
    **************
     *************
      ************
       ***********
        **********
         *********
          ********
           *******
            ******
             *****
              ****
               ***
                **
                 *

右對齊三角形:
                 *
                **
               ***
              ****
             *****
            ******
           *******
          ********
         *********
        **********
       ***********
      ************
     *************
    **************
   ***************
  ****************
 *****************
******************



相關推薦

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

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

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

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

使用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++)

for迴圈巢狀 案例列印各種形狀的星星

案例:各種形狀星星列印 //方形 /*    for(var i=0;i<6;i++){         for(var j=0;j<6;j++){ &

三種方式列印楊輝三角形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

列印N行楊輝三角形2維陣列

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include

演算法競賽入門經典 習題2-4 倒三角形triangle

習題2-4 到三角形(triangle) 輸入正整數n<=20,輸出一個n層的到三角形。例如n=5時輸出如下: #########  #######   #####    ###     # (大概就像上面這個樣子吧,Markdown不太好打

java編程三角形Triangle繼承

public ets clas .get fill object 是否 getc super import java.util.Scanner; public class Test { public static void main(String[] args)

字符三角形循環做法

~~ AC log 開心 TE n) ios cor com 題目如下: 輸入一個字符,輸入一個整數表示三角形的行數,將三角形打印出來(詳見輸出樣例) 輸入樣例:* 3 輸入樣例: * *** ***** 對!差不多就這樣23333333~~~~~~~~~~~~~~~

近期重要公告、各種問題解答2018-6-30

的人 topic 上傳 初級 自動 控件 強調 也會 第一章 周年慶期間還是買專題更劃算,買專題是199元,單買課程是207元。請直接通過下面的地址購買(如果此鏈接內不再是優惠價了請直接去網站買):專題鏈接:http://edu.51cto.com/topic/1568.h

劍指Offer 60. 把二叉樹列印成多行 二叉樹

題目描述 從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出一行。 題目地址 https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288?tpId=13&tqId=11213&rp=3&ru=/ta/co

劍指Offer 59. 按之字形順序列印二叉樹 二叉樹

題目描述 請實現一個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。 題目地址 https://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0?tpId=

圖解:輸入任意一個數值,列印一個螺旋矩陣二維陣列

更多演算法題請看本人部落格分類--演算法  public class Demo11 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(t

9th week blogHistory of Program

object的發展史: 一.面向物件的發展史。(分為三個階段) (一)初級階段   20世紀60年代挪威計算中心開發的Simula 67,首先引入了類的概念和繼承機制,它是面嚮物件語言的先驅。該語言的誕生是面向物件發展史上的第一個里程碑。隨後20世紀70年代的CLU、併發Pascal

在螢幕繪製一個三角形使用頂點快取

首先標頭檔案d3dUtility.h裡面: Init3D函式:裡面實現了Direct3D初始化的整個過程:包括獲取介面Direct3D9的指標,檢驗裝置的頂點運算,填充裝置屬性結構體的內容,建立IDirect3DDevice9的介面等。 EnterMsgLoop函式:該函式接受了一個顯示

BZOJ3505: [Cqoi2014]數三角形洛谷P3166

組合 直接計算比較煩,考慮全部方案減不合法的方案。不合法的方案就是三個點都在一條直線上。除去橫的和豎的線,其它的枚一枚求一求gcd乘一乘就好了。 程式碼: #include<cstdio>

各種測試方法蠻齊全的

隨著軟體測試技術的不斷髮展,測試方法也越來越多樣化,針對性更強;選擇合適的軟體測試方法可以讓我們事半功倍。以下介紹一些常用的軟體測試方法。 編輯本段β測試_Beta測試   β測試,英文是Beta testing。又稱Beta測試,使用者驗收測試(UAT)。   β

浙江中醫藥大學大學生程式設計競賽problemC Wpremig的三角形二分計算幾何

這題就太有說法了…像我這種萌新看完之後完全沒思路,我能回爐從造嗎 這是一道好題,看題解全程跪著看完的,防止忘了還是寫個… 如果想面積最大,那麼每兩個三角形相交的位置和每邊緣的三角形與邊界相交的位置一樣高,設這個高度為mid,mid下面是一個矩形,答案就是高度的三角形面積和加上這個矩形面積

HihoCoder - 1794:拼三角形 狀壓DP

描述 給定 n 根木棍,第 i 根長度為 ai 現在你想用他們拼成儘量多的面積大於 0 的三角形,要求每根木棍只能被用一次,且不能折斷 請你求出最多能拼出幾個 輸入 第一行一個正整數 n 第二行 n 個正整數 a1 … an 1 ≤ n ≤ 15 1 ≤ ai ≤ 109