当相同的字符串连续出现至少两行时,输出该字符串,只有输出一遍

    技术2022-05-20  51

    #include <stdio.h> #include <string.h> void main() { char a[10][128]; int i,j=0; for (i=0; i<10; i++) gets(a[i]); for (i=0; i<=8; i++) { /*当最后两个字符串相同时,判定条件就是i+2==10*/ if ( strcmp(a[i],a[i+1])==0 && (strcmp(a[i+1],a[i+2])!=0 || i+2==10) ) { strcpy(a[j],a[i]); j++; i++; } } printf("/n"); for (i=0; i<j; i++) printf("%s/n",a[i]); }

     

     

     

    里面的那个可以这样改,更加完美

    for (i=0; i<9; i++)    {        if ( strcmp(a[i],a[i+1])==0)        {            if(i == 0)                strcpy(a[j],a[i]);            else if(i >= 1 && strcmp(a[i-1],a[i+1]) != 0)            {    strcpy(a[j],a[i]);                 j++;   }            i++;         }    }


    最新回复(0)