C语言官网蓝桥杯训练1115DNA
这道题是比较简单的输出字符图形的题,但是有几个坑还是要注意下。
1.题中所述的X是大写的,不要看成小写了。(我就错了好几次)
2.每一行输出最后的X后不能在输出空格。
3.输出两个DNA中间有一个空行。
解题思路:
只需要求出一个图形X的排列即可,后边直接重复输出,定义一个数组用来存放X,
注意观察图形,我们们可以知道,X所处的位置有两个情况
1.行列数相同
2.所处行数和列数相加等于总行数加一。
下边是代码:
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);//总的测试实例
while(N--)
{
int a,b,i,j,l;
scanf("%d %d",&a,&b);
char c[40][40];//定义字符串。
for(i=1;i<=a;i++)//a代表行列数,b代表重复次数
for(j=1;j<=a;j++)
{
if(i==j||i+j==a+1)//给字符串赋值 根据排列图中排列的规律
c[i][j]='X';
else
c[i][j]=' ';
}
for(i=1;i<=a;i++)//首先输出第一个完整的X排列
{
int flag=0;//用标志符号控制是否输出每一行的最后一个X,注意有一行只有一个X
for(j=1;j<=a;j++)
{
if(c[i][j]=='X')
{
printf("%c",c[i][j]);
flag++;
if(i!=(a+1)/2&&flag==2)//输出最后X后要退出,
break;
if(i==(a+1)/2&&flag==1)
break;
}
else
printf(" ");
}
printf("\n");
}
for(l=2;l<=b;l++)//下边的输出为数组去掉第一行。
{
for(i=2;i<=a;i++)
{
int flag=0;
for(j=1;j<=a;j++)
{
if(c[i][j]=='X')
{
printf("%c",c[i][j]);
flag++;
if(i!=(a+1)/2&&flag==2)
break;
if(i==(a+1)/2&&flag==1)
break;
}
else
printf(" ");
}
printf("\n");
}
}
printf("\n");//最后输出结束后输出空行。
}
return 0;
}
C语言官网蓝桥杯训练1115DNA的更多相关文章
- C语言网 蓝桥杯 1117K-进制数
这是一道较难的题目,我刚开始用排列组合的方式来做,并没有做出来,故运用了的深搜算法. 深搜算法的概念: 选其中一条路,遍历完成后,逐步返回直至全部遍历,最后返回起点. 解题思路 : 题目中对零的个数没 ...
- C语言网蓝桥杯1116 IP判断
判断IP地址的合法性, 1.不能出现除数字和点字符以外的的其他字符 2.数字必须在0-255之间,要注意边界. 题目分析: 因为一个IP是又四个数字组成,且可能存在符号和其他字符,故不能用整型数组处理 ...
- 蓝桥杯训练 2n皇后问题
给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一列或同一条对角线上 ...
- 蓝桥杯训练 2n皇后
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一列或同一 ...
- 蓝桥杯如何训练?(附VIP题库)
https://www.dotcpp.com/ 给大家介绍下蓝桥杯,是近几年可以说国内名气最大的程序设计类比赛了 相比国际赛事ACM,蓝桥杯入门简单.中文答题.拿奖率高,更适合国内大众化参加,近几年不 ...
- [18/12/3]蓝桥杯 练习系统 入门级别 Fibonacci数列求模问题 题解思路
前言略. 看到这个题目本来应该很高兴的,因为什么,因为太TM的基础了啊! 可是当你用常规方法尝试提交OJ时你会发现..hhh...运行超时..(开心地摇起了呆毛 //Fibonacci数列递归一般问题 ...
- Java实现 蓝桥杯VIP 算法训练 连通分块(并查集)
试题 算法训练 连通分块 资源限制 时间限制:200ms 内存限制:8.0MB 问题描述 连通分块 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 接下来m行,每行2 ...
- Java实现 蓝桥杯VIP 算法训练 无权最长链
试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格 ...
- Java实现 蓝桥杯VIP 算法训练 Car的旅行路线
大家可以看一下这个,蓝桥杯官网的这道题是有问题的 Car的旅行路线 算法训练 Car的旅行路线 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 查看参考代码 问题描述 又到暑假 ...
随机推荐
- 【Windows】+ win10 通过KMS激活
win10激活到期 通过KMS再次激活(亲测有效):http://www.xitongcheng.com/jiaocheng/win10_article_44435.html
- Linux内存管理 (4)分配物理页面
专题:Linux内存管理专题 关键词:分配掩码.伙伴系统.水位(watermark).空闲伙伴块合并. 我们知道Linux内存管理是以页为单位进行的,对内存的管理是通过伙伴系统进行. 从Linux内存 ...
- js修改父子json格式成树状结构格式
js修改父子json成树状结构 var json = [ { "id" : "01", "pId":"" } , { & ...
- 关于vue打包是因代码校验报错
单个文件中: 1./* eslint - disable */ 2./* eslint-disable no-new */ 当然也支持全局: 3.bulid > webpack.base.con ...
- asp.net core 2.1认证
asp.net core 2.1认证 这篇文章基于asp.net core的CookieAuthenticationHandler来讲述. 认证和授权很相似,他们的英文也很相似,一个是Authenti ...
- Python——hashilib 模块(哈希模块)
hashilib 模块 摘要算法 import hashlib # 提供摘要算法的模块 md5 = hashlib.md5() md5.update(b'alex3714') print(md5.he ...
- 函数遍历DOM树
//获取页面中的根节点--根标签 var root=document.documentElement;//html //函数遍历DOM树 //根据根节点,调用fn的函数,显示的是根节点的名 ...
- MYSQL实战-------丁奇(极客时间)学习笔记
1.基础架构:一条sql查询语句是如何执行的? mysql> select * from T where ID=10: 2.基础架构:一条sql更新语句是如何执行的? mysql> upd ...
- emwin 之 LISTWVIEW 控件禁止列滑动
@2019-02-25 [小记] hHeader = LISTVIEW_GetHeader(hListView); WM_DisableWindow(hHeader);
- [欢乐向]JavaScript之如何逼疯你的同事
https://javascript.info/ninja-code