程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C++輸出上三角/下三角/菱形/楊輝三角形(實現代碼)

C++輸出上三角/下三角/菱形/楊輝三角形(實現代碼)

編輯:C語言基礎知識
1.輸出上三角形
第一行1個星,第二行3個星,第三行5個星,第四行7個星,第五行9個星。
分析:三角形的形狀由輸出的空白和星組成,通過分析每一行輸出幾個空格,幾個星,就可完成輸出三角形的工作。
代碼如下:

#include<iostream>
using namespace std;
int main(){
 int i=0,j=0;
 for(i=1;i<=5;i++){//控制行數
     for(j=1;j<=(5-i);j++){
      cout<<" ";//控制輸出空格
     }
     for(j=1;j<=(2*i-1);j++){
      cout<<"*";//控制輸出*
     }
     cout<<endl;//每一行進行換行
 }
 return 0;
}

2.輸出下三角
第一行9個星,第二行7個星,第三行5個星,第四行3個星,第五行1個星。
分析:該圖形與上三角圖形相反,思路類似。
代碼如下:

#include<iostream>
using namespace std;
int main(){
 int i=0,j=0;
 for(i=1;i<=5;i++){//控制行數
  for(j=1;j<=(i-1);j++){
   cout<<" ";
  }
  for(j=1;j<=(9-2*(i-1));j++){
   cout<<"*";
  }
  cout<<endl;
 }
}

3.輸出菱形
菱形其實就是由一個上三角和一個下三角組成。可以通過兩次for循環輸出
代碼如下:

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

4.輸出楊輝三角
                  1                                   1   1                               1   2   1                           1   3   3   1                       1   4   6   4   1                   1   5   10   10   5   1               1   6   15   20   15   6   1           1   7   21   35   35   21   7   1       1   8   28   56   70   56   28   8   1   1   9   36   84   126   126   84   36   9   1
楊輝三角形最顯著的特點就是每個數等於它上方兩數之和。這也就是程序編寫的原理
代碼如下:

#include<iostream>
using namespace std;
int main(){
 int i,j;
 int a[10][21];
 for(i=0;i<10;i++){
  for(j=0;j<21;j++){
   a[i][j]=0;
  }
 }//完成數組的初始化
 a[0][10]=1;
    for(i=1;i<10;i++){
     for(j=(10-i);j<=(10+i);j=j+2){//10+i=(10-i)+2*i+01-1
      a[i][j]=a[i-1][j-1]+a[i-1][j+1];
     }
    }
    for(i=0;i<10;i++){
     cout<<"\t";
     for(j=0;j<21;j++){
     if(a[i][j]==0){
       cout<<"  ";
     }else{
      cout<<a[i][j];
     }
     }
     cout<<endl;
    }
    cout<<endl;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved