C언어/C언어 예제

Anagram 문자열 판별하기 [C언어 소스 코드]

언제나휴일 2016. 6. 21. 23:38
반응형

Anagram 문자열 판별하기 [C언어 소스 코드]


Program.c


"본문 내용"은 언제나 휴일 본 사이트에 있습니다.



#include <stdio.h>

 

void TestIssAnagram(const char *s1, const char *s2);

int main()

{

    TestIssAnagram("silent","listen");

    TestIssAnagram("gargen","ranged");

    TestIssAnagram("split","lisp");

}

int IsAnagram(const char *s1, const char *s2);

void TestIssAnagram(const char *s1, const char *s2)

{

    printf("=== Test %s %s ===\n",s1,s2);

    if(IsAnagram(s1,s2))

    {

        printf("Result: Anagram\n");

    }

    else

    {

        printf("Result: Is Not Anagram\n");

    }

   

}

int IsAnagram(const char *s1, const char *s2)

{

    int i ,j;

    for(i=0;s1[i];i++)//s1[i] 문자가 참이면(거짓은 종료 문자임) 반복

    {

        for(j=0;s2[j];j++)//s2[j] 문자가 참이면(거짓은 종료 문자임) 반복

        {

            if(s1[i] == s2[j])//s1[i] s2[j]가 같으면

            {

                break;//반복문 탈출(s2[j]은 참인 상태임)

            }           

        }

        if(s2[j]==0)//s2[j] 문자가 거짓이면(같은 문자가 없을 때)

        {

            return 0;//anagram이 아님

        }

    }

    return 1;//anagram

} 


▷ 실행 결과

=== Test silent listen ===

Result: Anagram

=== Test gargen ranged ===

Result: Anagram

=== Test split lisp ===

Result: Is Not Anagram



프로그래밍 언어 및 기술 학습, 무료 동영상 강의 언제나 휴일

반응형