标签:style blog color for io div
//删除子串,只要是原串中有相同的子串就删掉所有子串。子串至少两个字符。 #include<stdio.h> #include<string.h> char* delete_string(char s[],char a[]); int main() { char s[255]; char data[255][255];//存放相同的子串 int i,j,k; int length; int row = 0,column;//data[][]的行标和列标 gets(s); length = strlen(s); //寻找相同的子串 for(i=0;i<length-3;i++) { for(j=i+1;j<length-1;) { if((s[i] == s[j]) && (s[i+1] == s[j+1])) { column = 0; k = 0; do { data[row][column++] = s[j]; j++;k++; }while(s[i+k] == s[j]); data[row++][column] = ‘\0‘; } else { j++; } } } puts("The same string:"); for(i=0;i<row;i++) { puts(data[i]);//输出相同的子串 } for(i=0;i<row;i++) { delete_string(s,data[i]); } puts("After deleted:"); puts(s); return 0; } //函数功能:如果字符串s中包含子串a,则将s中的a删除。否则不做任何改变。 char* delete_string(char s[],char a[]) { int length_s; int length_a; int i,j,k; length_s = strlen(s); length_a = strlen(a); for(i=0;i<length_s;) { j = 0; if(s[i] == a[j]) { do { i++;j++; }while((j < length_a) && (s[i] == a[j])); if(j == length_a) { //表明s中包含子串a,将其删除。 for(k=i;k<=length_s;k++) { s[k-length_a] = s[k]; } i = i - length_a; j = 0; } else { j = 0; } } else { i++; } } return s; }
删除子串,只要是原串中有相同的子串就删掉所有子串。子串至少两个字符。,布布扣,bubuko.com
删除子串,只要是原串中有相同的子串就删掉所有子串。子串至少两个字符。
标签:style blog color for io div
原文地址:http://www.cnblogs.com/Camilo/p/3835188.html