解题思路:
本题的关键在于要理解题中的“3层十字架”是什么意思,然后我们通过观察图像来得到它的排布规律
注意事项:
1.十字架指的是由“.”构成的空白部分;
2.图像的排布规律推荐从一层十字架看,然后再看看多层是怎么在一层的基础上叠加形成的;并且我们要格外注意的是每一行的排列规律
3.如下为1-3层对应的图像(为了观看方便我让每个字符中间都加了一个空格以达到正方形的效果)
参考代码:
#include<stdio.h>
void waiwei();
void waiwei2();
int main()
{
int n;
scanf("%d",&n);
for(int i=n-1;i>=-1;--i)
{
for(int j=n-1-i-1;j>0;--j) waiwei();
if(i==n-1) printf("..");
else printf("$$$.");
for(int j=5+4*i;j>0;--j) printf("$");
if(i==n-1) printf("..");
else printf(".$$$");
for(int j=n-1-i-1;j>0;--j) waiwei2();
puts("");//No.1
for(int j=n-1-i;j>0;--j) waiwei();
printf("..");
if(i!=-1)
{
printf("$");
for(int j=5+4*i-2;j>0;--j) printf(".");
printf("$");
}
else printf("$");
printf("..");
for(int j=n-1-i;j>0;--j) waiwei2();
puts("");//No.2
}
for(int i=n;i>0;--i) waiwei();
printf("$$$$$");
for(int i=n;i>0;--i) waiwei2();
puts(""); //middle
for(int i=-1;i<=n-1;++i)
{
for(int j=n-1-i;j>0;--j) waiwei();
printf("..");
if(i!=-1)
{
printf("$");
for(int j=5+4*i-2;j>0;--j) printf(".");
printf("$");
}
else printf("$");
printf("..");
for(int j=n-1-i;j>0;--j) waiwei2();
puts("");//No.2
for(int j=n-1-i-1;j>0;--j) waiwei();
if(i==n-1) printf("..");
else printf("$$$.");
for(int j=5+4*i;j>0;--j) printf("$");
if(i==n-1) printf("..");
else printf(".$$$");
for(int j=n-1-i-1;j>0;--j) waiwei2();
puts("");//No.1
}
return 0;
}
void waiwei()
{
printf("$.");
}
void waiwei2()
{
printf(".$");
}
0.0分
3 人评分
WU-输出九九乘法表 (C++代码)浏览:1654 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:582 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:484 |
杨辉三角 (C语言代码)浏览:484 |
回文数(一) (C语言代码)浏览:1117 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:489 |
整数分类问题 为什么输出总是数字8啊浏览:442 |
素数的个数 一直是超时浏览:666 |
C语言程序设计教程(第三版)课后习题8.4 (C++代码)浏览:444 |
简单的a+b (C语言代码)浏览:599 |