生活随笔
收集整理的這篇文章主要介紹了
巧妙打印对称图案
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
算法:
第一個(gè)的代碼的思想是以前從網(wǎng)上看到的,原理很簡(jiǎn)單,就是利用高中數(shù)學(xué)中線性規(guī)劃的知識(shí); ? ? ?? ?????? 第二個(gè)代碼是利用圖案的對(duì)稱關(guān)系,其總共有5*2-1行,分析可知,每行的空格數(shù)量是:5-當(dāng)前行數(shù);每行的空格數(shù)量是:行數(shù)*2-1;下面最后4行的圖案是根據(jù)上面4行的圖案換算得來(lái)的。
運(yùn)行效果1???????????? ? ?? ?運(yùn)行效果2
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{short int n;while(cin>>n){for(int i=-n; i<=n; i++){for(int j=-n; j<=n; j++)abs(i)+abs(j) >= n ? cout<<" " : cout<<"*";cout<<endl;//可適當(dāng)更改abs(i)+abs(j) 和 n的關(guān)系,比如>=}}return 0;
}
#include <iostream>
using namespace std;
int main(void)
{int n; //n代表要打印圖案的行數(shù)(母圖)h_1代表行數(shù) h_2也是代表行數(shù) l代表列數(shù)。while(cin>>n){for(int h_1=1,h_2=1; h_1<=2*n-1; h_1++){if( h_1 > n)h_2 = 2*n - h_1;elseh_2 = h_1;for(int l=n-h_2; l>=1; l--)cout<<" ";for(int l=1; l<=2*h_2-1; l++)cout<<"*";cout<<endl;}}return 0;
}
總結(jié)
以上是生活随笔為你收集整理的巧妙打印对称图案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。