您的位置:首页 > 其它

蓝桥 打印十字图

2014-03-16 16:41 127 查看
解题报告

#include<stdio.h>
#include<string.h>
int main(){
int num[200][200];
int n,m,i,j,k;
while(~scanf("%d",&n)){
memset(num,0,sizeof(num));
m=9+(n-1)*4;
for(j=1;j<=m/2;j++){
if(j%2){
for(i=j+2;i<=m-j-1;i++)
num[j][i]=num[i][j]=1;
}else{
num[j][j+1]=num[j][m-j]=num[j+1][j]=num[m-j][j]=1;
}
}//对称
for(j=m;j>=m/2+1;j--){
if(j%2){
for(i=m-j+3;i<=j-2;i++)
num[j][i]=num[i][j]=1;
}else{
num[j][m-j+2]=num[j][j-1]=num[m-j+2][j]=num[j-1][j]=1;
}
}
for(i=1;i<=m;i++)
if(i%2) num[i][i]=num[m-i+1][i]=1;
num[1][1]=num[m][1]=num[1][m]=num[m][m]=0;
for(i=1;i<=m;i++){
for(j=1;j<=m;j++){
if(num[i][j]) printf("$");
else printf(".");
}
printf("\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: