• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C语言aabbcc、abc、fabc、aabc

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

输入一个字符串,匹配字符串中连续出现的字符串、并且连续个数相等

如输入 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;
}

}

}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
无法正确运行的C#程序发布时间:2022-07-13
下一篇:
C++中如何使用switch字符串发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap