1.reverse函数:翻转
对于数组 a,a+n;
对于字符串或者向量 a.begin(),a.end();
具体在https://blog.csdn.net/YMWM_/article/details/115468297
2.字符串的一种赋值方式
点击查看代码
for(int i=0;i<n;i++) s[i]=string(7*n/2,' ')
3.对于星号画图题
看完学长给的例子后了解到
直接找规律一行一行写for然后cout空格和星号太长也太麻烦
应该用string 先初始一块画布 也就是上面的2.
然后再找规律写for直接赋值对应的点为星号
如果存在对称就先写对称的某一部分
然后
如果左右对称就用reverse函数将每一行翻转过来再接回去;
例如
点击查看代码
void copy(int i){
string temp=s[i];
reverse(temp.begin(),temp.end());
s[i]+=temp;
}
这个函数因为只是复制一行 你想复制每一行就要把它写进for循环里
如果上下对称呢
那就for从i小到大先输出s[i];
然后再把for倒过来写 也就是i从大到小输出s[i];
可能涉及到先从0->i然后i-1->0的情况 这个具体考虑;