#include <stdio.h>
#include <string.h>
int main()
{
int n, k, f[][], i, j;
char str1[], str2[];
scanf("%d", &n);
while (n--)
{
scanf("%s%s%d", str1, str2, &k);
memset(f, , sizeof(f));
for(i = ; str1[i] != NULL; i++)
f[][str1[i] - 'a']++;
for(i = ; str2[i] != NULL; i++)
f[][str2[i] - 'a']++;
for(i = ; i <= k; i++)
for (j = ; j < ; j++)
{
f[i][j] = f[i-][j] + f[i-][j];
}
for(i = ; i < ; i++)
printf("%c:%d\n", i + 'a', f[k][i]);
printf("\n");
}
return ;
}
该题思路:用二维数组,一个用于递推,一个用于统计每个字母数。同时灵活运用字符ASCII码值。