2010년 4월 17일 토요일

회문 검사 프로그램~

#include
#include

int palindrome(char *);

void main()
{
char chr[100];
int res;

printf("# 문자열을 입력하시오. : ");
scanf("%s",chr);
fflush(stdin);

res = palindrome(chr); // 입력 받은 문자열이 화문인지 검사함수 호출

if( res == 1){
printf("\"%s\"문자열은 회문입니다.\n",chr);
}

else if (res == 0){
printf("\"%s\"문자열은 회문이 아닙니다.\n",chr);
}
}


int palindrome(char *p)
{
int i,size,chp=0; //글자열의 길이를 반으로 나누었을때 수와 앞뒤글자가 같은 수가 같아야 회문

size = strlen(p);

for(i = 0 ; i < size ; i++){

if(p[i] >= 'a' && p[i] <= 'z'){ p[i] -= 'a' - 'A';} //대문자로 바꿔준다.
}

for(i = 0 ; i < size/2 ; i++){ //문자열 반만 검사

if(p[i] == p[size-1-i]){ //문자열처음과 끝 검사
chp++;
}

}

if((size/2) == chp ) { return 1;}

else { return 0; }
}

댓글 없음:

댓글 쓰기