C 中的 Anagram 程序
2021-07-07 10:04:18
深夜i
--
--
C
的
n
a
g
r
a
m
序
C 中的 Anagram 程序来检查两个字符串是否是 anagram。 假定它们仅包含小写字母。 如果其中一个的字母可以重新排列以形成另一个,则它们是彼此的字谜。 因此,在字谜字符串中,所有字符出现的次数相同。 例如,“ABC”和“CAB”是字谜,因为每个字符“A”、“B”和“C”在两个字符串中出现的次数相同(此处为一次)。
用户输入两个字符串,我们计算每个字母('a' 到 'z')在其中出现的次数,然后比较它们对应的计数。 一个字母在字符串中出现的频率是它在其中出现的次数。 例如,字符串“programming”中“m字母表”的频率是“2”,因为它在其中出现了两次。
C字谜程序
#include <stdio.h>
int check_anagram(char [], char []);
int main()
{
char a[1000], b[1000];
printf("Enter two strings\n");
gets(a);
gets(b);
if (check_anagram(a, b))
printf("The strings are anagrams.\n");
else
printf("The strings aren't anagrams.\n");
return 0;
}
int check_anagram(char a[], char b[])
{
int first[26] = {0}, second[26] = {0}, c=0;
// Calculating frequency of characters of the first string
while (a[c] != '\0') {
first[a[c]-'a']++;
c++;
}
c = 0;
while (b[c] != '\0') {
second[b[c]-'a']++;
c++;
}
// Comparing the frequency of characters
for (c = 0; c < 26; c++)
if (first[c] != second[c])
return 0;
return 1;
}
C anagram 程序的输出:
下载字谜程序。
上一篇:
idea打包java可执行jar包
下一篇:
C 读取文件
评论区