假如文本是ACDEF统计AC,CD,DE,EF的个数如下图文本
和统计单个字母其实一样。
统计字母的时候,我们把遍历的字母转换为 arr[字母 - 'A'] 下标放在一个长度26的数组里,进行累计。
这里可以将找到放在 arr[字母1*26+字母2] 的数组里。数组长度需要26*26
如果采纳,可以具体写代码给你
我这个文本只有20种大写字母,分别为A,C,D,E,F,G,H,I,K,L,M,N,P,Q,R,S,T,V,W,Y
char c[100] = "ABCDAERD...";
int arr[26*26];
for (int i = 0; i < 26 * 26; i++) arr[i] = 0;
for (int i = 0; i < 99; i++)
{
arr[(c[i] - 'A') * 26 + (c[i + 1] - 'A')]++;
}
for (int i = 0; i < 26 * 26; i++)
{
if (arr[i] != 0) printf("%c%c : %d", (char)(i / 26 + 'A'), (char)(i % 26 + 'A'), arr[i]);
}