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;
}
}
}
最新文章
- Duilib源码分析(二)控件构造器—CDialogBuilder
- windows配置xhprof,PHP性能分析工具
- pthreads 2.0.10 test
- MVC中的CSRF解决方案
- git tag知多少
- 用js实现的刷新页面
- /etc/fstab 文件详解 及 /etc/mtab
- POJ 1862 &;amp; ZOJ 1543 Stripies(贪心 | 优先队列)
- 【译】ASP.NET MVC 5 教程 - 10:添加验证
- input失效后,怎么改变它默认就有的灰色
- android登录实现,存储数据到/data/data/包名/info.txt
- maven学习之1
- java中的强大的枚举(基本没人用)
- ViewPagerWithImageDemo【ViewPager如何判断滑动到第一页和最后一页以及弹出对话框功能】
- JavaEE开发之Spring中的条件注解、组合注解与元注解
- linux目录说明
- git 入门教程之基本概念
- 解决VS2010连接VSS时,Access to file";\\***\rights.dat"; denied
- 8 -- 深入使用Spring -- 3...1 Resource实现类ServletContextResource
- linux下保存下位机输出的串口信息为文件
热门文章
- ubuntu18.04 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)解决方法
- 20155301 2016-2017-2 《Java程序设计》第10周学习总结
- (转) PHP 开发者该知道的 5 个 Composer 小技巧
- cogs87 乘积最大
- Lambada表达式的作用
- [转载]A cycle was detected in the build path of project
- 进阶篇:4.1)DFA设计指南:简化产品设计(kiss原则)
- 人脸检测及识别python实现系列(1)——配置、获取实时视频流
- html5shiv 是一个针对 IE 浏览器的 HTML5 JavaScript 补丁,目的是让 IE 识别并支持 HTML5 元素。
- 内网集群准同步shell脚本