Xuuuuuu_922 2021-10-31 01:04 采纳率: 0%
浏览 73

判断两个词是否为变位词

判断两个词是否为变位词,用两种方法,只用数组。c语言

  • 写回答

1条回答 默认 最新

  • 关注

    参考


    你题目的解答代码如下:

    #include<stdio.h>
    int main()
    {
        int a[26]={0},i=0,n=0,j=0;
        int arr[20]={0};
        char ch='\0';
        printf("Enter first word:");
        ch=getchar();
        while(ch != '\n')
        {   if(ch>='A' && ch<='Z')
            arr[i++]=ch-'A';
            else
            arr[i++]=ch-'a';
            ch=getchar();
        }
        arr[i]=0;
    
        for(n=0;n<i;n++)
        {
            if(a[arr[n]])
            {
                a[arr[n]]++;
                continue;
            }
            a[arr[n]]=1;
        }
        /*
        for(n=0;n<26;n++)
        {
            printf("%c,%d\n",n+'a',a[n]);
        }
        */
        printf("Enter the second word:");
        ch=getchar();
        while(ch != '\n')
        {   if(ch>='A' && ch<='Z')
              {
                 ch=ch-'A';
                 a[ch]--;
              }
            else
               {
                 ch=ch-'a';
                 a[ch]--;
               }
            ch=getchar();
        }
        for(j=0;j<26;j++)
        {
             if(a[j]!=0)
             {
                 printf("The words are not anagrams.");
                 break;
             }
              else
              {
                  continue;
              }
        }
        if(j==26)
        {
             printf("The words are anagrams.");
        }
        getch();
    }
    

    img

    如有帮助,望采纳!谢谢!

    评论

报告相同问题?

问题事件

  • 创建了问题 10月31日