N7FAA52318 2022-01-05 11:08 采纳率: 62.5%
浏览 705
已结题

给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。

问题遇到的现象和发生背景

给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。
输入格式:

第一行包含一个正整数k,表示至少需要连续出现的次数。1 <= k <= 100。

第二行包含需要查找的字符串。字符串长度在1到100之间,且不包含任何空白符。

输出格式:

若存在连续出现至少k次的字符,输出该字符;否则输出NO。

运行结果及报错内容
我的解答思路和尝试过的方法
#include <stdio.h>
int main()
{
  char a[100],ch;
  int i,count=0,k,j;
  scanf("%d",&k);
  gets(a);
  for(i=0;a[i]!='\0';i++)
    {
    for(j=i;j<i+k-1;j++)
  if(a[j]==a[j+1])
  {
    count++;
    ch=a[j];
  }
    }
    if(count>0)
     printf("%d",ch);
     else
     printf("No");
  return 0;
}


求指出问题和正确的思路
  • 写回答

3条回答 默认 最新

  • 於黾 2022-01-05 11:18
    关注

    count 不要光++呀,如果相等就++,如果count>k就可以直接break了
    如果前后不等了,要把count清零啊

    #include <stdio.h>
    int main()
    {
      char a[100],ch;
      int i,count=0,k,j;
      scanf("%d",&k);
      gets(a);
      for(i=1;a[i]!='\0';i++)
        {
          if(a[i]==a[i-1])
          {
            count++;
            ch=a[i];
          }
        else
            count=0;
        if(count>k)
        break;
        }
        if(count>k)
         printf("%d",ch);
         else
         printf("No");
      return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月15日
  • 已采纳回答 1月7日
  • 创建了问题 1月5日

悬赏问题

  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?