看到这道题,第一反应是简单的模拟,上手就写,后来看大佬代码,还是我太蠢了
我的:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;int main()
{int n;cin>>n;string s = "";for(int i=1;i<=n;i++){s+="*";}for(int i=1;i<=n;i++){s+=".";}string t = s;reverse(t.begin(),t.end());for(int i=1;i<=3*n;i++){cout<<s<<t<<endl;}for(int i=1;i<=n;i++){s = "";for(int j=1;j<=2*n;j++){if(j<=i || j>i+n){s+=".";}else s+="*";}t = s;reverse(t.begin(),t.end());cout<<s<<t<<endl;}return 0;
}
大佬的:
#include <bits/stdc++.h>
using namespace std;int main()
{int n;scanf("%d",&n);for(int i=0;i<n*3;i++){cout<<string(n,'*')<<string(n*2,'.')<<string(n,'*')<<endl;}for(int i=0;i<n;i++){cout<<string(i+1,'.')<<string(n,'*')<<string(n*2-i*2-2,'.')<<string(n,'*')<<string(i+1,'.')<<endl;}return 0;
}
有时候 这些函数记住了能帮老大忙了。