C言語で重複する文字を削除する方法は何ですか?
C言語で重複する文字を削除する方法は、次の手順に従って実装することができます:
- 重複する文字を削除した結果を格納するための新しい文字列を作成します。
- 元の文字列の各文字を走査し、その文字が新しい文字列にすでに存在するかどうかを判断します。
- 新しい文字列にその文字が存在しない場合、新しい文字列に追加します。
- 最終的な新しい文字列は、重複する文字を削除した結果です。
以下は、シンプルなC言語のサンプルコードです。
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char result[100];
int i, j, flag;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
// Remove duplicate characters
for (i = 0; i < strlen(str); i++) {
flag = 0;
for (j = 0; j < strlen(result); j++) {
if (str[i] == result[j]) {
flag = 1;
break;
}
}
if (!flag) {
result[strlen(result)] = str[i];
}
}
printf("String after removing duplicates: %s\n", result);
return 0;
}
元の文字列を反復処理し、文字を1つずつ比較して、重複しない文字を新しい文字列に追加し、最終的に重複した文字を削除した結果が出力されます。