gpt4 book ai didi

计算字符串中有多少个字母重复

转载 作者:行者123 更新时间:2023-11-30 19:03:58 25 4
gpt4 key购买 nike

我的程序应该首先读取输入的字符串单词,然后计算重复字母的数量。

例如,如果我输入 apple 它应该打印 1,但它却打印 4

我认为 word[i] = word[i + 1] 不是正确的计数方式?

#include<stdio.h>

int main() {

int i, j, wordLength = 0, alphabeticalSort, counter = 0, swap;
char word[51];

scanf("%s", word);

while (word[wordLength] != '\0'){
wordLength++;
}

...

for (i = 0; i < wordLength; i++){
if (word[i] = word[i + 1])
counter++;
}

printf("\nNumber of repeated letters: %d", counter);

...

return 0;
}

最佳答案

最好将您正在做的事情分成两个函数,其中一个函数将计算每个字母出现的次数。

#define LETTERS 26

/* counts number of occurrences of each lowercase letter in str. Result is placed in outCounts,
assuming it has room */
void countletters(char *str, int outCounts[])
{
memset(outCounts, 0, LETTERS * sizeof (int));

for (; *str; ++str) {
if (isupper(*str))
*str = tolower(str);
if (islower(*str))
++outCounts[*str - 'a'];
}
}

然后您编写另一个函数来检查已修改的 outCounts 数组。如果一个字母重复,则该数组的相应成员将大于 1。我将其作为练习留给读者。

关于计算字符串中有多少个字母重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53253339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com