#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) { // 请在此输入您的代码 char a[81]; int t;

scanf("%d", &t);

for(int i = 0; i < t; i++){
    scanf("%s", a);

    int j = 0;
    for(int k = 0; k < 4; k++){
        if(a[k + i * 4] == a[k + 1 + i * 4]) {
            j++;
        }
    }

    if(j >= 3){
        printf("yes\n");
    }else{
        printf("no\n");
    }
}

return 0;

}

在修正后的代码中,我进行了以下修改:

  • 将循环变量i移动到内层循环前,并将其初始化为0。
  • 修改了内层循环的条件,将k < 5修改为k < 4,以保证只检查4个相邻字符是否相同。
  • 在判断条件中,将j == 3修改为j >= 3,以满足至少有三个相邻相同的字符的情况。

根据您的代码,该程序的功能是读取一个整数t表示测试样例的数量,然后依次读取t个字符串,并检查每个字符串的前四个字符是否至少有三个相邻相同的字符。如果满足条件,则输出'yes',否则输出'no'。

请注意,您的代码中没有处理输入字符串长度超过80个字符的情况。如果需要处理更长的输入字符串,可以考虑使用动态内存分配或者限制输入字符串的长度。

C语言字符串比较:判断相邻字符是否至少三个相同

原文地址: https://www.cveoy.top/t/topic/0mf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录