我仍在学习 C,并且一直在尝试找出计算数组中字符出现次数的最佳方法。
我计划将它分成函数并对其进行大量扩展,但到目前为止,我想出的最好的工作代码是一个更大的版本:
#define SIZEONE 7
#define SIZETWO 3
int main(void)
{
int arrOne[SIZEONE] = {97, 97, 98, 99, 99, 99, 99};
char arrTwo[SIZETWO] = {'a', 'b', 'c'};
int arrThree[SIZETWO] = {0};
int countOne = 0;
int countTwo = 0;
int countThree = 0;
for(countOne = 0; countOne < SIZEONE; countOne++)
{
for(countTwo = 0; countTwo < SIZETWO; countTwo++)
{
if(arrOne[countOne] == arrTwo[countTwo])
{
arrThree[countTwo] = arrThree[countTwo] + 1;
}
}
}
for(countThree = 0; countThree < SIZETWO; countThree++)
{
printf("%c ",arrTwo[countThree]);
}
countThree = 0;
printf("\n");
for(countThree = 0; countThree < SIZETWO; countThree++)
{
printf("%d ",arrThree[countThree]);
}
return 0;
}
从这里我应该得到如下所示的东西:
美国广播公司
2 1 4
我只是想知道是否有一种更简单的方法可以在我开始使用此方法之前有人可以指出我或给我一个示例。