欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實現二維圖形的打印

 更新時間:2022年02月10日 14:51:46   作者:小李同學29  
大家好,本篇文章主要講的是C++實現二維圖形的打印,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下

今天,總結一下二維圖形的打印問題,也是當時困擾我的一大難題哈哈哈哈,好在隨著知識的沉淀,對這個知識點的理解也愈發(fā)清晰,今天就來舉幾個例子來探討一下吧。

一、下三角圖形的打印

#include<iostream>
using namespace std;
int main()
{
	int i , j ;
 
	for(i = 1 ; i <= 3 ; i ++)
 
	{
		for (j = 1; j <= (2 * i - 1); j++)
		{
			cout << "*";
		}
		cout << endl ;
	}
 
	return 0 ;
 
}

首先這個圖形有三行,為了便于表示,i 直接從 1 開始,至 3 結束,表示縱向一行一行,然后用 j 來橫向描述每一行的情形。通過找規(guī)律易知,每一行的 * 個數與 i 之間是 2*i-1 的關系,然后就在每一行結束的時候添加換行即可。

二、中三角二維圖形的打印

#include<iostream>
using namespace std;
int main() {
	int i, j;
	for (i = 1; i <= 4; i++)
	{
		for (j = 1; j <= 4 - i; j++)
		{
			cout << " ";
		}
		for (j = 1; j <= 2 * i - 1; j++)
		{
			cout << "*";
		}
		cout << endl;
	}
	return 0;
}

首先,這個圖形有四行,每一行需要打印兩個元素,一個是前面的空格,另一個就是 * ,行數還是從i= 1 開始標記,橫向的 j 每一次要先打印完空格才能打印 * ,而通過找規(guī)律可知,前面的空格與行數 i 有空格數 = 4-i 的規(guī)律,然后看每一次的 * 呈奇數的關系,即與行數呈 2*i-1 的關系,最后在每一個i結束的時候加上換行即可。

三、上三角圖形的打印

#include<iostream>
using namespace std;
int main() {
	int i, j;
	for (i = 1; i <= 3; i++)
	{
		for (j = 0; j <= 2 * i - 2; j++)
		{
			cout << " ";
		}
		for (j = 1; j <= 5 - (2 * i - 2); j++)
		{
			cout << "*";
		}
		cout << endl;
	}
	return 0;
}

 這個題是當時困擾我最久的了,哎,當時陷入了固定思維,一直在思考這個 * 的個數與i之間的直接聯系,0, 2, 4,當真是沒找到有啥關系,許是我太笨了,確實沒找到有啥關系式可以表示,后來在網上看了別人寫的代碼,懂得了還有一種表示方法,簡直是豁然開朗,醍醐灌頂,當每一行需要表示兩種元素的時候,如果一種表示方法很簡單,可以用總的長度減去這種簡單表示的式子來表示那個較難表示的數量,這種思想跟高數中積分那里有種解題思路相仿。

再來說這個題,首先一共三行,縱向的i從1 開始賦值,到等于3 ,接著是橫向的每一行需要表示的元素,空格的數量根據行數一次是0, 2, 4 這種偶數跟i 之間的關系,很容易便知是 2*i-2 的關系,接著就是這個題新開拓出來的方法,用總的數量減去第一種的數量就是第二種的數量,即 5- (2*i-1),然后就是最后了,依舊跟往常一樣,在每一行結束的時候加一個換行即可。

四、九九乘法表的打印

#include<iostream>
using namespace std;
int main() {
	int i, j;
	for (i = 1; i <= 9; i++)
	{
		for (j = 1; j <= i; j++)
		{
			cout << i << "*" << j << "=" << i * j << '\t';
		}
		cout << endl;
 
	}
	return 0;
}

 這個當初寫的時候還花費了蠻長時間,現在重新寫竟一下就可以完成,不禁感嘆真的是隨著見到的知識越來越多,寫的一個個小程序也越來越多,真的是能體會到積土成山,風雨興焉的感慨,哈哈哈回歸正題。

這個看著麻煩,其實找到規(guī)律,跟之前寫的并無兩樣,行數還是從1 開始表示,可以發(fā)現,每一行中的另一個元素 j 都是從1 開始一直到 i ,都是 <= i ,所以這個核心規(guī)律就找到了,這個題最重要的是最后輸出時的表示方法,因為輸出的時候 i ,j 要在不斷的變,所以都不需要加雙引號, 然后就是根據每一個小單元的輸出格式,不變的元素字符就加上雙引號,最后為了整潔美觀,在輸出完每一個小結都要加上一個制表符 \t 來整齊美觀,that's all.

最后,我想說的是,我最開始寫的時候不知道如何表示每一行的元素個數的方法,依我現在的總結方法就是,努力使每一個式子都跟行數 i 形成直接或間接的關系。

總結

到此這篇關于C++實現二維圖形的打印的文章就介紹到這了,更多相關C++二維圖形打印內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言實現歌曲信息管理系統

    C語言實現歌曲信息管理系統

    這篇文章主要為大家詳細介紹了C語言實現歌曲信息管理系統,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 詳解C語言中二級指針與鏈表的應用

    詳解C語言中二級指針與鏈表的應用

    對于初學者而言,有很多地方肯定是費解的。比如函數的參數列表的多樣化,動態(tài)分配內存空間函數malloc等,其實這些知識和指針聯系緊密,尤其是二級指針,快跟隨小編來學習一下吧
    2022-07-07
  • 二叉查找樹的插入,刪除,查找

    二叉查找樹的插入,刪除,查找

    以下是對二叉查找樹的插入與刪除以及查找進行了詳細的介紹,需要的朋友可以 過來參考下
    2013-09-09
  • C++之const限定符詳解

    C++之const限定符詳解

    這篇文章主要為大家介紹了C++之const限定符,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C++設計模式之Proxy模式(代理模式)詳解

    C++設計模式之Proxy模式(代理模式)詳解

    這篇文章主要為大家詳細介紹了C++設計模式之Proxy模式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • C中實現矩陣乘法的一種高效的方法

    C中實現矩陣乘法的一種高效的方法

    本篇文章介紹了,在C中實現矩陣乘法的一種高效的方法。需要的朋友參考下
    2013-05-05
  • OpenCV實現高斯噪聲

    OpenCV實現高斯噪聲

    這篇文章主要為大家詳細介紹了OpenCV實現高斯噪聲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C語言中將日期和時間以字符串格式輸出的方法

    C語言中將日期和時間以字符串格式輸出的方法

    這篇文章主要介紹了C語言中將日期和時間以字符串格式輸出的方法,分別是ctime()函數和asctime()函數,注意參數區(qū)別,需要的朋友可以參考下
    2015-08-08
  • 使用c語言判斷100以內素數的示例(c語言求素數)

    使用c語言判斷100以內素數的示例(c語言求素數)

    這篇文章主要介紹了使用c語言判斷100以內素數的示例(c語言求素數),需要的朋友可以參考下
    2014-03-03
  • C++ 實現對象池的具體方法

    C++ 實現對象池的具體方法

    本文主要介紹了C++ 實現對象池的具體方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論