题目要求如题目所示,下面是具体的代码实现
#include<iostream>
using namespace std;
int main()
{
int n = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (i == 0 || i == n-1 )
cout << "*";
else if (j == n - i - 1 )
cout << "*";
else
cout << " ";
}
cout << endl;
}
}
下面看看运行结果,如果想打印五行五列的数字2,下列是运行结果
我们可以看到,在首尾两行时,五个星星全都要打印,于是在第二层嵌套时,我使用了if语句让第一行和最后一行每一列都打印上星星。
而在其余行数我们可以观察到i和j的关系是 j == n - i - 1,其余部位用空格填充即可。