思路:
1. 用字串指標陣列儲存使用者輸入的字串的所有字尾字串
;
2. 將字尾字串集合進行排序
;3.比較相鄰字串的公共子串長度,找到長度最大值,儲存相應字串即為所求
**如下:
#include "stdafx.h"
#include #include #include #define maxchar 5000 //最長處理5000個字元
char c[maxchar];//字元陣列c儲存使用者輸入的字串
char *a[maxchar];//字串指標陣列a儲存使用者輸入的字串的所有字尾字串
//求出兩個字串的公共子串長度
int comlen( char *p, char *q )
return i;
}//字串排序規則
int pstrcmp( const void *p1, const void *p2 )
int main(void)
c[n] = '\0';
qsort (a, n, sizeof(char*), pstrcmp );//將字尾字串集合進行排序
for (i=0; imaxlen )
}printf("%s\n", a[maxi]);
system("pause");
return 0;
}
乙個字串的面試題
題目 有一字串由m個單詞組成單詞之間有空格隔開 只有空格,沒有其他標點符號 有n個關鍵字,現在要在字串中找出包含n個關鍵字 每個關鍵字至少出現一次,沒有說要不要按什麼順序 的最短子串。函式原型 string extractsummary string description,string keywo...
在乙個字串中尋找另外乙個字串
在乙個字串中尋找另外乙個字串 public class text foundit true break test system.out.println foundit?found it didn t find it 該段程式有點難以理解,主要就是if語句的理解,if searchme.charat ...
找出乙個字串中最長的連續回文
找出乙個字串中最長的連續回文 題目 找出乙個字串中最長的回文,比如goooogleel,最長回文是goooog 分析 第一,定義乙個pstr指向字串str,再定義乙個p指向pstr,q指向pstr 1 第二,找出乙個字元 p與其下乙個字元 q相同位置,比如oo,num index p 然後比較這兩個...