C++ 代碼如下:
#include <iostream>?
using namespace std;?
int main()?
{?
int n;?
cin>>n;?
cout<<"要得到的菱形的大小:"<<endl;?
for(int i=1;i<=n;++i)?
{?
for(int j=1;j<=n-i;++j)?
cout<<" ";?
for(j=1;j<=i;++j)?
cout<<"* ";?
cout<<endl;?
}?
for( i=n;i>=1;--i)?
{?
for(int j=1;j<=n-i;++j)?
cout<<" ";?
for(j=1;j<=i;++j)?
cout<<"* ";?
cout<<endl;?
}?
return 0;?
}
c++打印菱形圖示例圖:
1、上半層:
2、下半層:
3、運行結果:
擴展資料:
制作思路:
1、先來分析分割線上半部分的規律:
上半部分外層循環了4次,可以用壹個循環來解決for(int i=0 ;i<4 ;i++)。
對比分析:
第壹輪循環i=0的時候空格的打印次數是3,星星打印的次數是1
第二輪循環i=1的時候空格的打印次數是2,星星打印的次數是3。。
第三輪循環i=2的時候空格的打印次數是1,星星打印的次數是5。
第四輪循環i=3的時候空格的打印次數是0,星星打印的次數是7。
空格打印的循環次數隨著外層循環次數的增加而減少,這樣就很明顯看出空格打印的循環和外層循環的規律:for(int j=0;j<3-i;j++)。
星星打印增加循環次數都是外層循環的次數增加次數的2倍,這樣就很明顯看出星星打印的循環和外層循環的規律:for(int k=0;k<1+2*i;k++)。
2、再來就是分析分割線下半部分的規律:
下半部分外層循環了3次,可以用壹個循環來解決for(int i=0 ;i<3 ;i++)
第壹輪循環i=0的時候空格的打印次數是1,星星打印的次數是5。
第二輪循環i=1的時候空格的打印次數是2,星星打印的次數是3。
第三輪循環i=2的時候空格的打印次數是3,星星打印的次數是1。
空格打印的循環次數隨著外層循環次數的增加而增加,這樣就很明顯看出空格打印的循環和外層循環的規律:for(int j=0;j<1+i;j++)
星星打印循環次數隨外層循環的增加而減少,減少的規律是外層增加的2倍,這樣就很明顯看出星星打印的循環和外層循環的規律:for(int k=0;k<5-2*i;k++)。