1. 程式人生 > 其它 >如何使用C++語言列印倒三角形-NOIP基礎

如何使用C++語言列印倒三角形-NOIP基礎

技術標籤:C++NOIPc++c語言

我們怎麼實現使用C++語言,列印一個倒三角形呢?

題目描述

輸入一個整數列印字元圖形

輸入

一個整數(0<N<10)

輸出

一個字元圖形,如:n=3,則輸出圖形如下:

×××××

□×××

□□×

程式碼實現 - 方法1

#include <iostream>
using namespace std;

int main(){
	/*
		思路一:找出迴圈的規律,第i行有多少個空格,多少星 
		i=1 0個空格 5個星	3 * 2 - 1 = 5
		i=2 1個空格 3個星	2 * 2 - 1 = 3
		i=3 2個空格 1個星	1 * 2 - 1 = 1
		第i行i-1個空格(n-i+1)*2-1個星 
	*/
int n,i,j; cin >> n; // 輸出n行 for(i = 1;i <= n;i++){ // 輸出第i行的i-1個空格 for(j = 1;j <= i - 1;j ++){ cout << " "; } // 輸出第i行的(n - i + 1) * 2 - 1顆星 for(j = 1;j <= (n - i + 1) * 2 - 1;j++){ cout << "*"; } // 第i行的空格和星輸出結束,換行 cout <<
endl; } }

程式碼實現 - 方法2

#include <iostream>
using namespace std;

int main(){
	/*
		思路:將星號正三角行數直接倒過來就形成了倒三角 
	*/ 
	int n,i,j;
	
	cin >> n;
	
	// 迴圈產生n行(i代表行數) 
	for(i = n;i >= 1;i--){
		// 第i行有n - i個空格 
		for(j = 1;j <= n - i;j ++){
			cout << " ";
		}
		
		// 第i行有 2 * i - 1 顆星 
for(j = 1;j <= 2 * i - 1;j++){ cout << "*"; } // 第i行的空格和星輸出結束,輸出換行 cout << endl; } }