四个星图,用四个算法写出来,然后拼在一起就行了
printf("********* *** * * \n");
printf("* * * * *** * * \n");
printf("* * * * ***** * * \n");
printf("* * * * * * * \n");
printf("* * * * * * * \n");
printf("* * * * * * * \n");
printf("* * * * * * * \n");
printf("* * * * * * * \n");
printf("********* *** * * \n");
1找出每个图形的对称规则,寻找一些规律,通过编写代码
可能我这中方法也是比较逗比的一种,不可以玩玩,哈哈
#include <iostream>
#include <vector>
using namespace std;
void CreatStar(vector<vector<int>> &vt2);
void Display(vector<vector<int>> &vt2);
const int line=9;
const int column=41;
int main()
{
vector<vector<int>> vt2;
CreatStar(vt2);
Display(vt2);
system("pause");
return 0;
}
void CreatStar(vector<vector<int>> &vt2)
{
vector<int> vt;
for (int i=0;i<line;i++)
{
vt.clear();
for (int j=0;j<column;j++)
{
if (((0==i||line-1==i)&&(j>=0&&j<9))||(0==j||8==j))//正方形
{
vt.push_back(1);
}
//圆形
else if (((11==j||19==j)&&(i>1&&i<7))||(0==i||line-1==i)&&(j>13&&j<17)||((1==i||line-2==i)&&(12==j||18==j)))
{
vt.push_back(1);
}
//箭头
else if (24==j||(1==i&&(j>22&&j<26))||(2==i&&(j>21&&j<27)))
{
vt.push_back(1);
}
else if (((0==i||line-1==i)&&34==j)||((1==i||7==i)&&(33==j||35==j))||((2==i||6==i)&&(32==j||36==j))||((3==i||5==i)&&(31==j||37==j))||(4==i&&(30==j||38==j)))
{
vt.push_back(1);
}
else
{
vt.push_back(0);
}
}
vt2.push_back(vt);
}
}
void Display(vector<vector<int>> &vt2)
{
for (int i=0;i<line;i++)
{
for (int j=0;j<column;j++)
{
if (1==vt2.at(i).at(j))//二维数组里是1的则打印*,否则打印空格
{
cout<<"*";
}
else
{
cout<<" ";
}
}
cout<<endl;
}
}
运行结果如下: