蓝桥杯试题----- 打印大X
打印大X
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。
为了便于比对空格,所有的空白位置都以句点符来代替。
要求输入两个整数m n,表示笔的宽度,X的高度。用空格分开(0<m<n, 3<n<1000, 保证n是奇数)
要求输出一个大X
例如,用户输入:
3 9
程序应该输出:
***.....***
.***...***.
..***.***..
...*****...
....***....
...*****...
..***.***..
.***...***.
***.....***
我自己写的思路是一行行输出的,先输出两边的. 和两边的*,然后中间有.的在处理一下,就可以了。
#include<stdio.h>
#include<string.h>
int main(){
int n,m,i,j,k,t,p;
int time;//0打印*,1打印. //保证m为奇数
int temp=0;
int max;
int min;
int flag;
int number;
scanf("%d%d",&n,&m);
char line[1997];
for(i=0;i<m/2+1;i++){
time = 0;
number=0;
for(j=0,k=n+m-2;j<=k;j++,k--){ //先控制每一行打出左右两边的. 和*
if(time!=i){
line[j]=line[k]='.';
time++;
}
else if(time==i){
line[j]=line[k]='*';
number++;
if(number==n&&j==k){
max = i; //记录中间有.的行数
}
if(number==n&&j<k){
time=(i-(m/2-i)-n);
}
}
}
if(max>0&&i<=max){ //控制打印中间的.
for(p=n+i;p<=m-2-i;p++){
line[p]='.';
}
}
for(j=0;j<=m+n-2;j++)
printf("%c",line[j]);
printf("\n");
}
temp = time;
min = m;
for(t=i;t<m;t++){
time = 1;
number=0;
for(j=0,k=n+m-2;j<=k;j++,k--){
if(time<temp){
time++;
line[j]=line[k]='.';
}
else if(time == temp){
line[j]=line[k]='*';
number++;
if(number==n&&j==k){
min = i;
}
if(number==n&&j<k){
time=(t-(m/2-temp)-n);
}
}
}
time = --temp;
if(min<m&&t>=min){
for(p=temp+n;p<=m-(m-t)-1;p++){
line[p]='.';
}
}
for(j=0;j<=m+n-2;j++)
printf("%c",line[j]);
printf("\n");
}
return 0;
}
蓝桥杯试题----- 打印大X的更多相关文章
- Java实现蓝桥杯 算法训练 大等于n的最小完全平方数
试题 算法训练 大等于n的最小完全平方数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输出大等于n的最小的完全平方数. 若一个数能表示成某个自然数的平方的形式,则称这个数为完全平 ...
- 2014年第五届蓝桥杯试题C/C++程序设计B组——李白打酒
题目描述: 标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共 ...
- 蓝桥杯试题集【Java】
一.Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. ...
- 蓝桥杯java 关于大范围时间的
import java.util.Calendar; import java.util.Date; public class A { /*这道题学习使用了java的calendar和类,主要是对dat ...
- PREV-2_蓝桥杯_打印十字图
问题描述 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示: ..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$...... ...
- 第十届蓝桥杯 试题 E: 迷宫
试题 E: 迷宫 本题总分:15 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷 ...
- 蓝桥杯 试题 历届试题 发现环 并查集+dfs
问题描述 小明的实验室有N台电脑,编号1~N.原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络.在树形网络上,任意两台电脑之间有唯一的路径相连. 不过在最近一次维护网络时,管理员误操作使 ...
- 蓝桥杯 试题 历届试题 填字母游戏 博弈+dfs剪枝
问题描述 小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说: “我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”. K大师在纸上画了一行n个格子,要小明和他交替往其中填入 ...
- 蓝桥杯——试题 算法训练 Yaroslav and Algorithm
试题 算法训练 Yaroslav and Algorithm 资源限制 时间限制:100ms 内存限制:128.0MB 问题描述 (这道题的数据和SPJ已完工,尽情来虐吧!) Yaroslav喜欢算法 ...
随机推荐
- 网易彩票-我的彩票-设置-cell跳转界面
1. 点击“cell”推出对应的界面 1.1 新建group,名为:Setting 路径:MYLottery(我的彩票)->Controller 1.2 新建Cocoa Touch Class, ...
- spring mvc jsonp调用示例
服务端代码:主要是返回的时候,返回值要用callback包装一下 /** * JSONP调用 * * @param request * @return */ @RequestMapping(" ...
- Javascript高级编程学习笔记(66)—— 事件(10)变动事件
变动事件 DOM2级的变动事件,能在DOM中的一部分发生变化时给出提示 变动事件是为XML或HTML DOM 设计的,并不特定于某种语言 DOM2级定义了如下变动事件: DOMSubtreeModif ...
- Android7.0适配APK安装
Android7.0适配APK安装 适配的原因 对于面向Android7.0的应用,Android框架执行的StrictMode API政策禁止在您的应用外部公开file://URL.如果一项包含文件 ...
- dubbo实用知识点总结(一)
1. dubbo基础架构 架构 特性 服务提供者 服务消费者 配置可以用dubbo.properties来替换 2. 注解配置 提供方(注意:serivce注解是dubbo的service) 消费者 ...
- ubuntu16.04 uninstall cuda 9.0 completely and install 8.0 instead
卸载cuda 9.0sudo apt-get --purge remove cudasudo apt autoremoveto remove cuda 9.0 Thensudo apt-get cle ...
- Python - 浅谈Python的编译与反编译
1 - Python编译过程涉及的文件 py 源代码文件,由python.exe解释,可在控制台下运行,可用文本编辑器进行编辑: pyc 源代码文件经过编译后生成的二进制文件,无法用文本编辑器进行编辑 ...
- 浅谈React16框架 - Fiber
前言 React实现可以粗划为两部分:reconciliation(diff阶段)和 commit(操作DOM阶段).在 v16 之前,reconciliation 简单说就是一个自顶向下递归算法,产 ...
- RabbitMQ访问控制
Access Control (Authentication, Authorisation) in RabbitMQ 认证和授权这两个概念经常容易被混淆,甚至被互换使用.在RabbitMQ中这是错的, ...
- [疑难杂症]__关于cmd命令正确而显示不是内部指令的错误(ps:已解决)
前言 事情的起因是因为我在使用上网程序的时候,运行程序发现端口被占用,这个当然我们知道要将占用的端口结束掉就行,但是显然我们首先要找到占用窗口的程序是什么,才方便在任务管理器中找到并结束掉它. 查找了 ...