[C언어 소스] 앞 뒤가 똑같은 문장, 회문(Palindrome)
//회문(Palindrome)
//앞 뒤가 똑같은 문을 회문(Palindrome) 이라고 합니다.
#include <string.h>
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
int Palindrome(char str[]);
int main()
{
char test_str[5][100] =
{
"HannaH",//회문인 예
"ReliefpfeileR",//회문인 예
"Root",//회문이 아닌 예
"RotoR",//회문인 예
"RentneR"//회문인 예
};
int i = 0;
for (i = 0; i<5; i++)//5번 테스트
{
if (Palindrome(test_str[i]))//회문이 맞으면
{
printf("%s 는 회문임\n", test_str[i]);
}
else//회문이 아니면
{
printf("%s 는 회문이 아님\n", test_str[i]);
}
}
return 0;
}
int Palindrome(char str[])
{
int len = 0;
int i = 0;
//거짓인 문자(널문자)가 나올때까지 이동
for (len = 0; str[len]; len++); //len = strlen(str); 과 같은 코드입니다.
for (i = 0; i<(len / 2); i++)//i를 0~len/2까지 이동하면서 반복
{
if (str[i] != str[len - i - 1])//str[i]와 str[len-i-1]이 서로 다르면
{
return 0;//회문이 아니므로 0 반환
}
}
return 1;//회문이므로 1 반환
}
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] 원형 연결리스트로 러시안룰렛 (0) | 2016.04.13 |
---|---|
[C언어 소스] 3X3 퍼즐 게임 (0) | 2016.04.13 |
[C언어 소스] 반복문으로 차량 번호 알아맞추기 (0) | 2016.04.13 |
[C언어 소스] 100분의 1초 단위로 현재 시각을 출력 (0) | 2016.04.13 |
[C언어 소스] 큰 정수 사이의 덧셈 (0) | 2016.04.13 |