题目描述
最外围一圈是“+”,然后是“.”,依次交替。
直接暴力
#include <bits/stdc++.h>
using namespace std;
int n;
int num=0;
int main()
{
cin>>n;
int a[n][n];
int x;
if(n&1) x=n/2+1;
else x=n/2;
for(int i=0;i<x;i++){
if(num==0){
for(int c=i;c<n-i;c++)
a[i][c]={0};
for(int c=i;c<n-i;c++)
a[c][i]={0};
for(int c=i;c<n-i;c++)
a[n-i-1][c]={0};
for(int c=i;c<n-i;c++)
a[c][n-i-1]={0};
num=1;
}
else{
for(int c=i;c<n-i;c++)
a[i][c]={1};
for(int c=i;c<n-i;c++)
a[c][i]={1};
for(int c=i;c<n-i;c++)
a[n-i-1][c]={1};
for(int c=i;c<n-i;c++)
a[c][n-i-1]={1};
num=0;
}
}
for(int j=0;j<n;j++){
for(int r=0;r<n;r++){
if(a[j][r]==0){
cout<<"+";
}
else{
cout<<".";
}
}
printf("\n");
}
return 0;
}