[c언어] 문자열 palindrome

2020. 12. 16. 11:14Computer Science/C

 

주어진 단어가 palindrome 인지를 판별하는 프로그램을 작성한다.

* palindrome은 madam이나 abccba 처럼 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 단어를 의미한다.

 

#include <stdio.h>
#define MAX_STRING 81
#define BOOL int
#define TRUE 1
#define FALSE 0

BOOL isPalindrome(char str[]);

int main(void)
{
    char str[MAX_STRING];

    printf("* Palindrome 체크\n\n");
    printf("문자열 입력(문자수 81 이하): ", MAX_STRING);
    scanf("%s", str);

    if (isPalindrome(str))
        printf("\"%s\" is a Palindrome\n\n", str);
    else
        printf("\"%s\" isn't a Palindrome\n\n", str);
    return 0;
}

BOOL isPalindrome(char s[])
{
    int i;
    int length;
    for (i = 0;s[i] != '\0';i++);
    length = i;

    for(i=0; s[i]!='\0'; i++)
    {
        if (s[i] == s[length-1-i])
            return TRUE;
    }
    return FALSE;
}

 

결과