C 如果两个输入是彼此的字谜,请打印出来
我的程序从用户那里获取两个输入,并找出它们是否是彼此的字谜。到目前为止,我得到了输入,并按字母顺序对它们进行了排序,但不确定如何比较它们以打印出来,如果它们相同或不相同。这是我的代码。显然,字符串==字符串是不正确的C 如果两个输入是彼此的字谜,请打印出来,c,arrays,string,compare,anagram,C,Arrays,String,Compare,Anagram,我的程序从用户那里获取两个输入,并找出它们是否是彼此的字谜。到目前为止,我得到了输入,并按字母顺序对它们进行了排序,但不确定如何比较它们以打印出来,如果它们相同或不相同。这是我的代码。显然,字符串==字符串是不正确的 #include <stdio.h> #include <stdlib.h> #include <string.h> void sort_string(char*); int main() { char string[100];
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sort_string(char*);
int main()
{
char string[100];
char strings[100];
printf("\nThis program will ask you for 2 words and compare them to see if they are anagrams of each other\n\n");
printf("Enter first word\n");
gets(string);
sort_string(string);
/*commented out for testing of function*/
/*printf("%s\n", string);*/
printf("Enter second word for comparison\n");
gets(strings);
sort_string(strings);
/*commented out for testing of function*/
/*printf("%s\n", strings);*/
if (sizeof string==sizeof strings)
printf("\nThe two words ARE anagrams of each other.\n");
else
printf("\nThe two words are NOT anagrams of each other.\n");
printf("\nThank You %d %d\n\n",sizeof string, sizeoof strings);
return 0;
}
/*function to sort in alphabetical order to be used for comparison*/
void sort_string(char *s)
{
int c, d = 0, length;
char *pointer, *result, ch;
length = strlen(s);
result = (char*)malloc(length+1);
pointer = s;
for ( ch = 'a' ; ch <= 'z' ; ch++ )
{
for ( c = 0 ; c < length ; c++ )
{
if ( *pointer == ch )
{
*(result+d) = *pointer;
d++;
}
pointer++;
}
pointer = s;
}
*(result+d) = '\0';
strcpy(s, result);
free(result);
}
#包括
#包括
#包括
无效排序字符串(字符*);
int main()
{
字符串[100];
字符串[100];
printf(“\n此程序将要求您输入两个单词,并对它们进行比较,以确定它们是否是彼此的字谜”\n\n”);
printf(“输入第一个单词”);
获取(字符串);
排序字符串(字符串);
/*为测试功能而注释掉*/
/*printf(“%s\n”,字符串)*/
printf(“输入第二个单词进行比较\n”);
获取(字符串);
排序字符串(字符串);
/*为测试功能而注释掉*/
/*printf(“%s\n”,字符串)*/
if(sizeof string==sizeof strings)
printf(“\n这两个单词是彼此的字谜。\n”);
其他的
printf(“\n这两个单词互不理解。\n”);
printf(“\n谢谢%d%d\n\n”,字符串大小,字符串大小);
返回0;
}
/*用于按字母顺序排序以用于比较的函数*/
无效排序字符串(字符*s)
{
int c,d=0,长度;
字符*指针,*结果,ch;
长度=strlen(s);
结果=(字符*)malloc(长度+1);
指针=s;
对于(ch='a';ch您需要使用
也可以考虑使用或为<代码> SoTyjString()/<代码> .>代码> String 1 和<代码> String 2将比<代码> String < /C> >和<代码>字符串好得多。