編寫程式輸出金字塔圖形
多個測試數據。每個測試數據輸入一個整數n(1 <= n <= 9),分別輸出每個數位的金字塔圖形
如:
注意:
#include<iostream>
using namespace std;
int main()
{
int n;
int i,j;
while(cin>>n)//多個輸入時,用while(cin>>n)表示輸入正常時列印金字塔
{
//列印數位n的金字塔
for (i = 1;i<=n;i++)//輸出n行圖形
{
for (j = 1;j<=n-i;j++)//列印每行的空格,第i行有(n-i)個空格
cout << ' ';
for (j = 1;j<=2*i-1;j++)//列印每行的*,第i行有(2i-1)個*
cout << '*';
cout << endl;//列印換行
}
}
return 0;
}
輸出雙層金字塔
#include<iostream>
using namespace std;
int main()
{
int n;
int i,j;
while(cin>>n)//多個輸入時,用while(cin>>n)實現
{
//列印正金字塔n行
for (i = 1;i<=n;i++)
{
for (j = 1;j<=n-i;j++)//列印每行的空格,第i行有(n-i)個空格
cout << ' ';
for (j = 1;j<=2*i-1;j++)//列印每行的*,第i行有(2i-1)個*
cout << '*';
cout << endl;//列印換行
}
//列印倒金字塔(n-1)行
for(i=n-1;i>=1;i--)
{
for (j = 1;j<=n-i;j++)//列印每行的空格,第i行有(n-i)個空格
cout << ' ';
for (j = 1;j<=2*i-1;j++)//列印每行的*,第i行有(2i-1)個*
cout << '*';
cout << endl;//列印換行
}
}
return 0;
}
請列印輸出一個字元金字塔,字元金字塔的特徵請參考樣例
輸入一個字母,保證是大寫
注意:
#include<iostream>
using namespace std;
int main()
{
char ch;
cin>>ch;
int n;
n = ch - 'A' + 1;//將字母轉換爲數位
int i, j;
for (i = 1; i <= n;i++)//外層回圈,控制行數
{
for (j = 1; j <= n - i;j++)//列印每一行的空格,第i行有n-i個空格
cout << ' ' ;
for (j = 1; j <= i;j++)//列印每行前面的順序字母,第i行從A開始有i個字母
{
cout << char('A' + j - 1);
}
for (j = i ; j >1;j--) //列印每行後面的倒序字母,第i行有i-1個字母
{
cout << char('A' + j - 2);
}
cout << endl;//列印換行
}
return 0;
}
輸出九九乘法表
注意:1、通過兩層回圈分別控制行和列
2、利用printf對輸出結果實現更精確的控制,計算結果佔兩個字元,右對齊
#include<iostream>
using namespace std;
int main()
{
int i,j;
for (i = 1; i <= 9;i++)//外層回圈,控制行數
{
for (j = 1; j <= i;j++)//內層回圈,控制每一行的列數
{
printf("%d*%d=%2d ", j, i, j * i);//用printf更精確地控制輸出格式
}
cout << endl;
}
return 0;
}
列印數位三角形,從1開始輸出,第i行輸出i個數,每個數位按4個位置輸出
注:c語言中 %4d可以輸出一個數,佔據四個位置,右對齊。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int i,j;
int a = 1;
for (i = 1; i <= n;i++)//外層回圈,控制行數,即n行
{
for (j = 1; j <= i;j++)//內層回圈,控制每一行的列數
{
printf("%4d",a);//用printf更精確地控制輸出格式
a++;
}
cout << endl;
}
return 0;
}