倒三角形–算法竞赛经典习题2-3:输入正整数n<=20,输出一个n层的倒三角形。例如,n=5时,输出如下所示。(C++实现)
思路分析:
1.观察法,从下往上,依次是1、3、5、7、9的数量*输出。
2.判定位置,第一栏0空格,往下依次增加一个空格,在输出符号*。
3.联想到for循环,但是如何使用?需要嵌套循环,外循环确定打印行数,内循环依次确定打印的空格、打印的符号*。
代码示例如下:
#include<iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
int main()
{
int j, i, n;
cout << "请输入正整数(n<=20):" << endl;
cin >> n; /*从键盘读取需要打印的行数*/
for (i = 1; i <= n; i++) /*一共打印n行*/
{
for (j = 1; j < i; j++) /*第i行打印‘*’号之前需要先输出(i-1)个空格*/
cout << " ";
for (j = 1; j <= 2 * (n-i) + 1; j++) /*第i行一共输出 2*(n-i)+1个‘*’号*/
{
cout << "*";
}
cout << endl; /*第i行输出完毕,准备下一行的输出*/
}
return 0;
}
运行结果就是开篇所示图例。
新手驾到,多指教!