코딩/C언어
palindrome 판별 (대소문자 구분X)
런던전통손만두
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 |
결과:
반응형