gpt4 book ai didi

C 程序打印重复字符

转载 作者:行者123 更新时间:2023-11-30 19:05:29 24 4
gpt4 key购买 nike

我正在尝试用 C 编写一个程序,读取一个单词并打印是否有重复,如果有则打印出现的次数。它有效(正如您在附图中看到的那样),但是一旦打印了一封信,我不希望它重新打印同一封信。

我尝试将重复字符存储在数组中,然后将新的重复字符与重复数组进行比较,但它似乎不起作用。有人知道不重印的简单方法吗?

#include <stdio.h>
#include <string.h>

int main(void) {
char word[100];
int x, i, j, freq, duplicates;
printf("Enter a word>\n");
scanf("%s", word);
x = strlen(word);
duplicates = 0;
freq = 1;
for(; i < x; i++) {
j = 0;
for(; j < x; j++) {
if ((word[i] == word[j]) && (i != j)) {
freq = freq + 1;
}
}
if (freq >= 2) {
printf("Duplicate letter: %c, Occurences: %d\n", word[i], freq);
duplicates = 1;
freq = 1;
}
}
if (duplicates < 1) {
printf("No duplicates found\n");
}
return 0;
}

enter image description here

最佳答案

您的问题出在寻找重复字母的for中第一个应该抛出字符串来查找所有字母:

for (i = 0; i < x; i++) {

第二个应该查找相同字符的出现:

for (j = i; j < x; j++) {

关于C 程序打印重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49778424/

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