1. 该题难点在于:
1) 只打印边界,也就是说对于边界的内容打印
"*"
,非边界的内容打印空白。2) 循环嵌套,双层循环
2. 总结
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
// 外层for循环控制每一行
for(int i = 0; i < n; i++)
{
// 内层for循环控制每一列
for(int j = 0; j < n; j++)
{
// 第一行、最后一行、第一列、最后一列
// 只要满足上面条件的一个,打印*
if(i == 0 || i == n-1 || j == 0 || j == n-1) cout << '*';
// 否则,打印空格
else cout << ' ';
}
// 每行打印完之后,输出换行,行数i+1,转到下一行中
cout << endl;
}
return 0;
}