【题目】

【解题思路】
本题是典型的利用双重循环输出图形的题目,这类题目关键是从题目的描述分析出来每一行每一个位置输出的信息与当前行编号 i 的关系,找出一个通用的公式放到每层循环中控制每个位置输出的符号。
本题通过分析题目描述以及样例图形分析出:每一行的起始、结束位置输出符号 + ;对角线上(行号=列号)输出符号 + ;其他位置输出符号 - 。
【代码】
cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)//外层循环控制行数
{ for(int j=1;j<=n;j++)//内层循环控制列数
{
if(j==1||j==n||i==j)//根据题目要求分析,对角线和每一行的起始和结束位置输出'+',其他情况输出'-'
cout<<'+';
else
cout<<'-';
}
cout<<endl;
}
return 0;
}