C语言 aabbcc、abc、fabc、aabc
输入一个字符串,匹配字符串中连续出现的字符串、并且连续个数相等
如输入 aabbcc、abc、fabc、aabc、aabbc
分别输出yes还是no
#include<stdio.h>
#include<string.h>
void main()
{
/*
思路:输入一个字符串数组a,定义一个数组b[3]={1,0,0}(其用意是默认第一个是不需要匹配的)
*/
char a[]={'f','a','a','a','b','d','c'};
int b[3]={1,0,0};
int i = 0;
int f = 0;
int g = 0;
int h = 1;
printf("a===%d\n",sizeof(a));
for( i = 1 ; i< sizeof(a);i++)
{
printf("i====%d\n",i);
//如果a[i-1] == a[i],默认从a[0] == a[1]开始,相等就加一,相当于a[0]='a' == a[1]='a'
if(a[i-1] == a[i]){
b[g] = ++h;
printf("b[%d]=%d\n",g,b[g]);
}
//此处只需要判断不相等
if((a[i-1] != a[i]) && (a[i-1]-a[i] == -1)){//&& a[i]-a[i+1] = 1
if( a[i-1]-a[i] == -1){
h = 1;
g = g+1;
b[g] = h;
}else{
if(g==0){
b[0] = 1;
b[1] = 0;
b[2] = 0;
}
if(g == 1){
b[0] = b[1];
b[1] = 0;
b[2] = 0;
}
if(g == 2){
b[0] = b[2];
b[1] = 0;
b[2] = 0;
}
h = 1;
g = 0;
}
}
printf("%d\n",b[0]);
printf("%d\n",b[1]);
printf("%d\n",b[2]);
printf("-----------------------------\n");
if(b[0] >= b[1] && b[1]== b[2] && b[2]>=1){
printf("yes\n");
break;
}
}
}
C语言 aabbcc、abc、fabc、aabc的更多相关文章
- 前端学PHP之正则表达式基础语法
前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本 ...
- 深入理解CSS六种颜色模式
前面的话 赏心悦目的颜色搭配让人感到舒服,修改元素颜色的功能让人趋之若鹜.但颜色规划不当,会让网站用户无所适从.颜色从<font color="">发展至今,保留了很多 ...
- Python 环境搭建,开发工具,基本语法
python环境 https://www.python.org/downloads/ 现在pthon有两个版本 一个是3.5系列的 , 一个是2.7系列的.建议用3.5版本的 开发工具 PyCharm ...
- python学习心得第一章
初始python 1什么是程序 计算机程序是一组执行某种动作的的指令.和那些电路.芯片.显卡.硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西.程序就是一系列告诉没有知觉 ...
- Python介绍、安装、使用
Python介绍.安装.使用 搬运工:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python语言介绍 说到Python语言,就不得不说一下它的创始人Guido van Rossu ...
- 初识python第一天
一.python简介 1.1 python的诞生 python的创始人吉多.范罗苏姆(Guido van Rossum),他在开发python语言之前曾使用过几年的ABC语言,ABC是一门主要用于教学 ...
- java正则表达式练习
package shb.java.demo3; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 正则表达式简 ...
- 第1章 Python介绍
本章将包含Python的介绍,安装以及Python的数据类型及运算符.其中关于数据类型中的字符串.列表.元组和字典后续章节会着重介绍. 1.1 为什么学Python Python是一门简明并强大的面向 ...
- PHP正则式PCRE
PHP正则式PCRE的总结差不多就下边这些了.参考 PCRE与perl的差异 . 锚(^.$.\A.\Z/\z):^.$在多行模式下是非紧固的,在单行模式下是紧固的:而\A.\Z / \z在任何模 ...
随机推荐
- 20155305 2016-2017-2 《Java程序设计》实验三 敏捷开发与XP实践
20155305 2016-2017-2 <Java程序设计>实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 1.敏捷开发 敏捷开发 ...
- Linux下IPC机制
Linux下IPC机制 实践要求 研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 IPC 进程间通信(IPC,Inter ...
- c++ 结束程序的几种方式
abort exit 一.用abort()结束程序 用abort()表示非正常结束程序.如果要正常结束程序得用exit() 二.用exit()结束程序 用exit()它可以使程序正常结束,这个函数 ...
- 【CF995F】Cowmpany Cowmpensation
[CF995F]Cowmpany Cowmpensation 题面 树形结构,\(n\)个点,给每个节点分配工资\([1,d]\),子节点不能超过父亲节点的工资,问有多少种分配方案 其中\(n\leq ...
- 【LG3206】[HNOI2010]城市建设
[LG3206][HNOI2010]城市建设 题面 洛谷 题解 有一种又好想.码得又舒服的做法叫线段树分治+\(LCT\) 但是因为常数过大,无法跑过此题. 所以这里主要介绍另外一种玄学\(cdq\) ...
- Qt-QMl-自定义自己想要的TabView
上效果图 上实现源码,这里的代码都是来自Qt官方源码修改其中某一行内容 /* 作者:张建伟 时间:2018年4月8日 简述:自定义TabView,主要实现Tab和实现内容重叠,不在占用独立空间 该文件 ...
- Redis 哨兵 Sentinel
Redis Sentinel:redis集群应用,分布式系统. 多个Sentinal进程之间通过 gossip 协议来接收主服务器是否下线的信息,通过 Raft 一致性协议来决定故障转移及转移服务 ...
- 【bzm-Random CSV Data Set Config】 -jmeter - 文件中随机取参的方法,(插件自带)
文件中随机取参数的方法 Random CSV Data Set Config
- Zabbix远程执行命令
原文发表于cu:2016-06-14 Zabbix触发器(trigger)达到阀值后会有动作(action)执行:发送告警信息或执行远程命令. 本文主要配置验证zabbix执行远程命令. 一.环境 S ...
- SpringMVC Controller介绍及常用注解——@Controller
一 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model ...