题目描述
打印 n 阶实心菱形
输入描述
输入一个整数n,0 < n <= 10
输出描述
输出 n 阶实心菱形 , 占 2*n-1 行
样例输入
3
样例输出
*
***
*****
***
*
这道题需要四个变量,都是整数类型
int n, i, j, ii;
分析问题:
从上面的样例可以看出,整个菱形可以分为上下两半,上面n行,下面n-1行,所有可以先写出两个父循环:
for (i = 0; i < n; i ++)
{
/*code*/
}
for (i = 0; i < n - 1; i ++)
{
/*code*/
}
接下来,把上半部分先输出:
整个上半部分可以分为空格和星号两个部分输出
下半部分也同理
完整代码:
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n, i, j, ii;
cin >> n;
for (i = 0; i < n; i ++)
{
for (j = 0; j < n - i - 1; j ++)
cout << ' ';
for (ii = 0; ii < 2 * i + 1; ii ++)
cout << '*';
cout << endl;
}
for (i = 0; i < n - 1; i ++)
{
for (j = 0; j < i + 1; j ++)
cout << ' ';
for (ii = 0; ii < 2 * (n - i - 1) - 1; ii ++)
cout << '*';
cout << endl;
}
return 0;
}