반응형
회문 구하기
#include "stdafx.h"
#include "string.h"
#define max 100
char str[max];
void head();
void palindrome(int len, int i, int j, int k, int ck);
int main()
{
int i=0, j=0, k=0, len = 0, ck = 0;
head();
while (str[0]!='e'||str[1]!='n'||str[2]!='d')
{
palindrome(len, i, j, k, ck);
}
}
void head()
{
printf("\t=======================================\n");
printf("\t\tPalindrome 판별 문제\n\n");
printf("\t프로그램을 종료할려면 'end'를 입력하세요\n\n");
printf("\t 'end'를 소문자로 입력해주세요..\n");
printf("\t=======================================\n");
}
void palindrome(int len,int i,int j,int k,int ck)
{
printf("\t문자을 입력하세요: ");
gets_s(str);
if (str[0] == 'e'&&str[1] == 'n'&&str[2] == 'd') //문자열 'end'을 입력시 프로그램 종료
{
printf("\n\t종료를 선택하셨습니다. 프로그램을 종료 합니다.\n\n");
}
else
{
for (i = 0; i < 100; i++) //문자열 길이를 구함
{
if (str[i] != '\0')
{
len++;
}
else
{
break;
}
}
for (j = 0, k = len - 1; j < len; j++, k--) //문자열을 하나씩 비교
{
if (str[j] != str[k])
{
ck++;
break;
}
}
if (ck > 0)
{
printf("\n\t%s 은(는)회문이 아닙니다.\n\n", str);
}
else if (ck == 0)
{
printf("\n\t%s 은(는)회문 입니다.\n\n", str);
}
len = 0;//문자열 길이 초기화
ck = 0;
}
}
반응형
'Language > C' 카테고리의 다른 글
(c언어) 문자열 거꾸로 출력하기 (0) | 2018.05.07 |
---|---|
(c언어) 두 문자열 비교하기 (0) | 2018.05.07 |
(c언어) 포인터를 이용하여 두 데이터값 swap 하기 (0) | 2018.05.07 |
(c언어) 배열을 사용하여 두 데이터값 swap 하기 (0) | 2018.05.07 |
(c언어) 입력한 숫자(i)부터 입력한 숫자(j) 까지 입력한 수(k)만큼 한줄에 표현하기 (0) | 2018.05.07 |