ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • palindrome 판별 (대소문자 구분X)
    코딩/C언어 2019. 9. 17. 14:46
    반응형
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    #include <stdio.h>
     
    int isPalindrome(char s[])
    {
        int i, j, k = 0;
        char str[30];
     
        for (i = 0; s[i] != '\0'; i++)
        {
            if (isupper(s[i]))
            {
                str[k] = tolower(s[i]);
                k++;
            }
            else if (isalpha(s[i]))
            {
                str[k] = s[i];
                k++;
            }
        }
     
        str[k] = '\0';
     
        for (j = 0; j < k / 2 - 0.5 ; j++)
        {
            if (str[j] != str[k - 1 - j])
                return 0;
        }
        return 1;
    }
     
    int main(void)
    {
        char str[30];
     
        gets(str); // 공백문자를 포함한 문자열을 읽으려면 gets를 써야함
     
        printf("%d\n", isPalindrome(str)); // 0 또는 1을 출력
    }
    cs

     

    결과: 

    반응형

    '코딩 > C언어' 카테고리의 다른 글

    배열 탐색  (0) 2019.09.17
    소수 판별  (0) 2019.09.17
    제켄도르프 정리 (재귀)  (3) 2019.09.17
    제켄도르프 정리  (0) 2019.09.17
    다음에 올 피보나치 수 구하기  (0) 2019.09.17
Designed by Tistory.