#include<stdio.h>
#include<stdbool.h>
#include<ctype.h>
void read_word(int counts[]);
bool equal_array(int counts1[], int counts2[]);
int main(void)
{
int counts1[26] = { 0 };
int counts2[26] = { 0 };
int result;
printf("PLease enter first word:");
(void)read_word(counts1);
printf("PLease enter second word:");
(void)read_word(counts2);
result = equal_array(counts1, counts2);
if (result==true)
{
printf("The words are anagrams!");
}
else
{
printf("The words are not anagrams!");
}
return 0;
}
void read_word(int counts[])
{
char ch;
while ((ch=getchar()!='\n'))
{
if (isalpha(ch)==true)
{
ch = toupper(ch);
counts[ch - 'A']++;
}
}
return;
}
bool equal_array(int counts1[], int counts2[])
{
int counts[26];
for (int i = 0; i < 26; i++)
{
counts[i] = counts1[i] - counts2[i];
}
for (int i = 0; i < 26; i++)
{
if (counts[i]!=0)
{
return false;
}
else
{
return true;
}
}
}
9---4
最新推荐文章于 2024-10-05 23:29:09 发布
该程序实现了一个功能,用于判断两个输入的单词是否为字母异位词(anagram)。它读取两个单词,统计每个单词中字母出现的次数,并比较这两个计数是否相等来确定它们是否互为字母异位词。如果相等,则输出它们是字母异位词,否则不是。
摘要由CSDN通过智能技术生成