【CCF】 Markdown 模拟
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm> using namespace std;
const int maxn=1e2+;
char str[maxn]; void line(int l,int r){
int i=l;
while(str[i]=='#'||str[i]=='*'||str[i]==' ') i++;
while(i<=r){
if(str[i]=='_'){
i++;
int x,y;
x=i;
while(str[i]!='_') y=i,i++;
i++;
printf("<em>");
line(x,y);
printf("</em>");
}else if(str[i]=='['){
i++;
int l1,r1,l2,r2;
l1=i;
while(str[i]!=']') r1=i,i++;
i+=;
l2=i;
while(str[i]!=')') r2=i,i++;
i++;
printf("<a href=\"");
line(l2,r2);
printf("\">");
line(l1,r1);
printf("</a>");
}else{
printf("%c",str[i]);
i++;
}
}
}
void title(){
int len=strlen(str);
len--;
int i;
for(i=;i<len;i++){
if(str[i]!='#') break;
}
printf("<h%d>",i);
line(,strlen(str)-);
printf("</h%d>\n",i);
}
void unlist(){
printf("<ul>\n");
printf("<li>");
line(,strlen(str)-);
printf("</li>\n");
while(fgets(str,maxn,stdin)!=NULL){
if(str[]=='\n') break;
printf("<li>");
line(,strlen(str)-);
printf("</li>\n");
}
printf("</ul>\n");
}
void para(){
printf("<p>");
line(,strlen(str)-);
while(fgets(str,maxn,stdin)!=NULL){
if(str[]=='\n'){
break;
}
printf("\n");
line(,strlen(str)-);
}
printf("</p>\n");
}
int main(){
while(fgets(str,maxn,stdin)!=NULL){
if(str[]=='\n') continue;
if(str[]=='#'){
title();
}else if(str[]=='*'){
unlist();
}else{
para();
}
}
return ;
}
【CCF】 Markdown 模拟的更多相关文章
- ccf认证模拟题之三---最大的矩形
问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3 ...
- CCF 模拟试题——出现次数最多的数 官方答案解析及自己写的正确答案
前几天知道的CCF计算机职业资格认证考试,觉得好像比软考含金量高一些,就去了解了一下,做了模拟试题中的 “出现次数最多的数” 这道题,我的算法和官方答案算法不同,个人觉得觉得官方的好一点,没那么繁琐, ...
- 更换Mac记录
1. 重装Mac (1)格式化硬盘 (2)重装系统 (3)修改各种配置:电脑名.键盘等 2. 安装必要软件 (1)QQ.微信.网易云音乐等 (2)火狐.谷歌.SourceTree等 (3)安装Git ...
- CCF CSP 201703-3 Markdown
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...
- CCF 201703-3 Markdown
问题描述 试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Markdown 是一种很流行的轻量级标记语言(lig ...
- CCF 201403-3 命令行选项 (STL模拟)
问题描述 请你写一个命令行分析程序,用以分析给定的命 令行里包含哪些选项.每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔.这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序 ...
- CCF 201403-2 窗口 (STL模拟)
问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的 ...
- CCF 炉石传说(模拟)
试题编号: 201612-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Wa ...
- CCF 201512-3 画图 (DFS搜索+模拟)
问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术.例如,下图是用 ASCII 字符画出来的 CSPRO 字样. ..____.____..____. ...
随机推荐
- 自动生成 WebApi 在线说明文档。
1.使用Swashbuckle实现 Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置.再通过SwaggerUI 显示出来.类库中已 ...
- python linecache模块读取文件用法详解
linecache模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. linecache.getlines(filename) 从名为filename的文件中得到 ...
- Luogu [P1958] 上学路线_NOI导刊2009普及(6)
上学路线_NOI导刊2009普及(6) 题目详见:上学路线_NOI导刊2009普及(6) 这是一道基础的DFS(深搜)题,堪称模板,是新手练习搜索与回溯的好题选. 大致思路:从(1,1)开始搜索,每次 ...
- 模板引擎原理及underscore.js使用
为什么要使用模板引擎 DOM结构简单,完全可以使用DOM方法创建DOM树.$("<td></td").appendTo(); 当页面比较复杂的时候,下面的程序中红 ...
- 三十三、MySQL 导入数据
MySQL 导入数据 本章节我们为大家介绍几种简单的 MySQL 导出的数据的命令. 1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导 ...
- 嵌入式linux:通过qemu模拟mini2440开发环境
1 编译安装QEMU 首先下载qemu for mini2440,直接打包下载 http://repo.or.cz/w/qemu/mini2440.git/snapshot/HEAD.tar.gz ...
- 【JAVA】apachehttpclient设置http1.0短链接
HttpPost httpPost = new HttpPost(url);httpPost.setEntity(new StringEntity(text, ContentType.create(& ...
- phpspider案例
phpspider案例 <?php require './autoload.php'; use phpspider\core\phpspider; /* Do NOT delete this c ...
- css清除浮动,清除子节点margin溢出问题
清除浮动 .clearfix:after{ content:”.”; display:block; height:0; clear:both; visibility:hidden; } 清除margi ...
- Android Studio 3.0 安装注意点
在安装Android studio 3.0+ 时候,会遇到默认不带Android SDK 的问题. 在启动Android studio 后,会提示让选择SDK目录,选择下载目录,对应的去下载 那么问题 ...