看到这道题,第一反应是简单的模拟,上手就写,后来看大佬代码,还是我太蠢了
我的:
#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;
}
有时候 这些函数记住了能帮老大忙了。