您的位置:首页 > 其它

蓝桥杯 打印十字图

2018-01-31 01:52 288 查看
题目:见蓝桥杯官网。

解题思路:

这是一个找规律的题。网上看到的代码都较为复杂,在这里提供一个简洁的。可以参照下面的代码和下面的图理解思路。

图1:



代码:

/*
时间:2018年1月31日
作者:Qing
*/
#include<iostream>
using namespace std;

char A[35][35];

int main()
{
int n;
cin>>n;
// 核心部分
int row=4+(n-1)*2+1;
A[1][1]=A[1][2]=A[2][1]=A[2][2]='.';
int i, j;
for(i=3; i<=row; i++)
{
A[i][1]='$';
A[1][i]='$';
for(j=2; j<=i; j++)
{
if(A[i-1][j-1]=='.')
A[i][j]=A[j][i]='$';
else
A[i][j]=A[j][i]='.';
}
}
// 核心部分结束
// 输出上面部分+中间行
for(i=1; i<=row; i++)
{
for(j=1; j<=row; j++)
cout<<A[i][j];
for(j=row-1; j>=1; j--)
cout<<A[i][j];
cout<<endl;
}
// 输出下面部分
for(i=row-1; i>=1; i--)
{
for(j=1; j<=row; j++)
cout<<A[i][j];
for(j=row-1; j>=1; j--)
cout<<A[i][j];
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  蓝桥杯