普通の文字を文字列で見つけ出し、その文字を印刷するつもりのプログラムと、次によく使われる文字を書いたのですが、どのように達成できますか?文字列に次の共通要素を印刷するにはどうすればよいですか?
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#define MAX 10
#define MAX_FREQ 256
int main()
{
char string[MAX] = {0};
int i = 0;
int freq[MAX_FREQ] = {0};
printf("Enter a String: ");
fgets(string, MAX, stdin);
if(string[strlen(string)-1] == '\n') {string[strlen(string)-1] = 0;}
for(i = 0; string[i]; i++)
{
freq[string[i]]++;
}
for(i = 0; i < MAX_FREQ; i++)
{
if(freq[i])
{
printf("Most common: %c, 2nd most common: %c\n", i, i-1);
}
}
return (0);
}
ありがとう:
は、ここに私のコードです。 1以下のような
(https://stackoverflow.com/questions/41664603/)[文字列の2つの最も頻度の高い文字を入れ替え]について、この質問のためのコード - 実際には全く別のタイトルを持っている問題が、客観的これと密接に関連しています(それは、2番目に一般的な手紙で最も一般的なすべての出現と、最も一般的な手紙で2番目に多い出現のすべての出現を交換しますが、それはトリビアです)。最大値と2番目の最大値を見つけるコードは、[Xzenon](https://stackoverflow.com/users/2491551/xzenon)に非常によく似ています。 –