最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)二維圖形的打印

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

今天,總結(jié)一下二維圖形的打印問題,也是當(dāng)時困擾我的一大難題哈哈哈哈,好在隨著知識的沉淀,對這個知識點(diǎn)的理解也愈發(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 結(jié)束,表示縱向一行一行,然后用 j 來橫向描述每一行的情形。通過找規(guī)律易知,每一行的 * 個數(shù)與 i 之間是 2*i-1 的關(guān)系,然后就在每一行結(jié)束的時候添加換行即可。

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

#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;
}

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

三、上三角圖形的打印

#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;
}

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

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

四、九九乘法表的打印

#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;
}

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

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

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

總結(jié)

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

相關(guān)文章

  • c++輸出斐波那契數(shù)列示例分享

    c++輸出斐波那契數(shù)列示例分享

    這篇文章主要介紹了c++輸出斐波那契數(shù)列示例,需要的朋友可以參考下
    2014-03-03
  • C++?ffmpeg實(shí)現(xiàn)將視頻幀轉(zhuǎn)換成jpg或png等圖片

    C++?ffmpeg實(shí)現(xiàn)將視頻幀轉(zhuǎn)換成jpg或png等圖片

    有時播放實(shí)時流的時候有截圖的需求,需要將解碼出來的圖片保存本地或上傳服務(wù)器,這時就需要將avframe中的數(shù)據(jù)編碼成png、jpg等格式的圖片,我們使用ffmpeg的相關(guān)編碼器就可以實(shí)現(xiàn)功能,下面就來講講具體實(shí)現(xiàn)方法吧
    2023-03-03
  • c++中new一個結(jié)構(gòu)體初始化過程

    c++中new一個結(jié)構(gòu)體初始化過程

    這篇文章主要介紹了c++中new一個結(jié)構(gòu)體初始化過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • C++標(biāo)準(zhǔn)模板庫STL的介紹

    C++標(biāo)準(zhǔn)模板庫STL的介紹

    今天小編就為大家分享一篇關(guān)于C++標(biāo)準(zhǔn)模板庫STL的介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++實(shí)現(xiàn)LeetCode(106.由中序和后序遍歷建立二叉樹)

    C++實(shí)現(xiàn)LeetCode(106.由中序和后序遍歷建立二叉樹)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(106.由中序和后序遍歷建立二叉樹),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++實(shí)現(xiàn)動態(tài)煙花代碼

    C++實(shí)現(xiàn)動態(tài)煙花代碼

    這篇文章主要介紹了利用C++實(shí)現(xiàn)的放煙花程序,用到了EGE圖形庫,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C++有一定幫助,需要的可以參考一下
    2023-01-01
  • C++使用map實(shí)現(xiàn)多進(jìn)程拷貝文件的程序思路

    C++使用map實(shí)現(xiàn)多進(jìn)程拷貝文件的程序思路

    這篇文章主要介紹了C++使用mmap實(shí)現(xiàn)多進(jìn)程拷貝文件,通過本文給大家分享程序思路及完整代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 常用C/C++預(yù)處理指令詳解

    常用C/C++預(yù)處理指令詳解

    預(yù)處理指令提供按條件跳過源文件中的節(jié)、報(bào)告錯誤和警告條件,以及描繪源代碼的不同區(qū)域的能力。使用術(shù)語“預(yù)處理指令”只是為了與 C 和 C++ 編程語言保持一致。在 C# 中沒有單獨(dú)的預(yù)處理步驟;預(yù)處理指令按詞法分析階段的一部分處理。
    2014-11-11
  • C++實(shí)現(xiàn)LeetCode(160.求兩個鏈表的交點(diǎn))

    C++實(shí)現(xiàn)LeetCode(160.求兩個鏈表的交點(diǎn))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(160.求兩個鏈表的交點(diǎn)),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • c++引用傳參和指針傳參的區(qū)別及說明

    c++引用傳參和指針傳參的區(qū)別及說明

    這篇文章主要介紹了c++引用傳參和指針傳參的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

建阳市| 错那县| 西乌| 老河口市| 钟祥市| 大英县| 南阳市| 如东县| 河东区| 宁远县| 太湖县| 阿克陶县| 古丈县| 拉萨市| 平山县| 桂平市| 岳西县| 信阳市| 江安县| 墨玉县| 富阳市| 承德市| 靖江市| 蛟河市| 洪泽县| 岳阳市| 信宜市| 麦盖提县| 宝坻区| 宝鸡市| 台南市| 渭源县| 酒泉市| 上思县| 米易县| 延寿县| 沙田区| 胶州市| 乌拉特后旗| 呼伦贝尔市| 铜梁县|