求连续点个数?

radar_seven_1 2010-11-11 11:30:00
例如:一个序列 2 3 4 5 5 6 5 4 7 5 7 3 4 5 3 4 6 4 3……
如求大于3的连续点个数。
第一个 4 5 5 6 5 4 7 5 有八个数
第二个 4 5 有二个数
第三个 4 6 4 有三个数
………


说一个思路
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2010-11-11
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

const int testArr[]=
{
2,3, 4, 5, 5, 6, 5, 4, 7, 5, 7, 3, 4, 5, 3, 4, 6, 4, 3
};

const int len=19;
const int cmp=3;

void printAll()
{
int start=-1;

for(int i=0;i!=len;++i)
{
if(testArr[i]>3)
{
if(start==-1)
{
start=i;
}
}
else
{
if(start!=-1)
{
for(int j=start;j<i;++j)
{
cout<<testArr[j]<<" ";
}
start=-1;
cout<<endl;
}
}
}
}

int main()
{
printAll();
return 0;
}
小楫轻舟 2010-11-11
  • 打赏
  • 举报
回复
bool begin = false;
bool end = false;
int cnt = 0
大于3时
begin = true;
end = false;
开始计数
cnt++;
直至碰到不大于3的数
begin = false;
end = true;
ouyh12345 2010-11-11
  • 打赏
  • 举报
回复
遍历吧
湛卢VV 2010-11-11
  • 打赏
  • 举报
回复

#include<stdio.h>
#include<string.h>
int j=0;
int main(void)
{
char ch='3';
int i=0,m=0,a[10];
char temp[100]="2345565475734534643";
for(i=0;i<strlen(temp);i++)
if(temp[i]>'3')
{
m++;
if(temp[i+1]<='3')
{a[j]=m;j++;m=0;}
}
printf("%d\n",a[0]);
printf("%d\n",a[1]);
printf("%d\n",a[2]);
}

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧