앞 뒤가 똑같은 회문(Palindrome), C언어 소스
//회문(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언어 소스 (0) | 2016.04.03 |
---|---|
스택 - 버퍼를 동적 할당, 정수 형식 보관, C언어 소스 (0) | 2016.04.03 |
스택 - 고정 크기 버퍼, 정수 형식 보관, C언어 소스 (0) | 2016.04.03 |
원형 연결리스트로 러시안룰렛, C언어 소스 (0) | 2016.04.03 |
3X3 퍼즐 게임, C언어 소스 (0) | 2016.04.03 |
반복문으로 차량 번호 알아맞추기, C언어 소스 (0) | 2016.04.03 |
100분의 1초 단위로 현재 시각을 출력, C언어 소스 (0) | 2016.04.03 |
큰 정수 사이의 덧셈, C언어 소스 (0) | 2016.04.03 |
C언어에서의 캡슐화, C언어 소스 (0) | 2016.04.03 |
암스트롱의 수, C언어 소스 (2) | 2016.04.03 |