當前位置:編程學習大全網 - 編程語言 - C++ 圖形 編程

C++ 圖形 編程

》代碼及註釋:(那裏看不明白hi我)》:

#include<iostream>

using namespace std;

int main(void)

{

int line,i,j;

cout<<"請輸入壹個奇數:"<<endl;

cin>>line;//由於屏幕大小有限,輸入的line值不宜過大,例如100可能就不行

for(i=1;i<=(line+1)/2;i++)//輸出上半部分的(line+1)/2行

{

for(j=line;j>=i;j--)cout<<" ";

for(j=1;j<=2*i-1;j++)//通過觀察發現,下壹行比上壹行多輸出兩個星號,故j的值每增加1,輸出星號的個數多兩個

cout<<"*";

cout<<endl;

}

for(i=(line-1)/2;i>=1;i--)//輸出下半部分的(line-1)/2行

{

for(j=line;j>=i;j--)

cout<<" ";

for(j=1;j<=2*i-1;j++)

cout<<"*";

cout<<endl;

}

return 0;

}

》提高:(是輸出的圖形變得稀疏)》》:

#include<iostream>

using namespace std;

int main(void)

{

int line,i,j;

cout<<"請輸入壹個奇數:"<<endl;

cin>>line;//由於屏幕大小有限,輸入的line值不宜過大,例如100可能就不行

for(i=1;i<=(line+1)/2;i++)//輸出上半部分的(line+1)/2行

{

for(j=line;j>=i;j--)cout<<" ";//兩個空格

for(j=1;j<=2*i-1;j++)//通過觀察發現,下壹行比上壹行多輸出兩個星號,故j的值每增加1,輸出型號的個數多兩個

cout<<"* ";//壹個星號壹個空格

cout<<endl;

}

for(i=(line-1)/2;i>=1;i--)//輸出下半部分的(line-1)/2行

{

for(j=line;j>=i;j--)

cout<<" ";

for(j=1;j<=2*i-1;j++)//通過觀察發現,下壹行比上壹行多輸出兩個星號,故j的值每增加1,輸出型號的個數多兩個

cout<<"* ";

cout<<endl;

}

return 0;

}

》提高二(數字菱形)》》:

#include<iostream>

using namespace std;

int main(void)

{

int i,j,line;

cout<<"請輸入壹個奇數:"<<endl;

cin>>line;

for(i=1;i<=(line+1)/2;i++)//循環3次,輸出前3行

{

for(j=line;j>=i;j--)//通過觀察,前三行的前壹行都比它後面的壹行多輸出壹個空格,少輸出兩個數

cout<<" ";

for(j=1;j<=i;j++)

cout<<j;

for(j=1;j<i;j++)

cout<<i-j;

cout<<endl;

}//以輸出第三行為例(此時i=3),首先執行輸出空格的循環,輸出3個空格;執行“for(j=1;j<=i;j++)cout<<j;”,輸出“123”,再執行“for(j=1;j<i;j++)cout<<i-j;”,輸出“21”。

for(i=(line-1)/2;i>=1;i--)//循環3次,輸出前3行

{

for(j=line;j>=i;j--)

cout<<" ";

for(j=1;j<=i;j++)

cout<<j;

for(j=1;j<i;j++)

cout<<i-j;

cout<<endl;

}

return 0;

}

最近我回答了許多這樣的問題,妳可以去看看我的知道回答,我還在“知識掌門人”裏制作了壹條知識,專門針對輸出這種圖形的。有空看看,願對妳有所幫助。

  • 上一篇:現在應該學習什麽技術
  • 下一篇:為了提高軟件開發效率,開發軟件時應盡量采用什麽語言?
  • copyright 2024編程學習大全網