🎈1.문제 설명
* 회문은 "level", BoB" 과 같이 앞으로 읽으나 뒤로 읽으나 똑같은 단어이다.
* 입력된 영어 단어의 회문 여부를 검사하는 프로그램을 작성하자.
* 반복 수행하고 단어 입력시 "end"를 입력하면 종료하자.
🎆2.필수 사용 함수
1.입력 함수 : 문자열 입력 함수
2.회문 검사함수 : 회문이면 1을, 회문이 아니면 0을 리턴하는 함수
🎇3. 실행의 예

🧨4. 코드+ 주석
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
void inputString(char *cp); /*회문 입력 함수 */
int checkPalindrome(char *cp); /*회문 검사 함수*/
int main()
{
char str[80]; // 문자열 저장 배열
int res; // 회문 검사 결과 저장
inputString(str);
while (strcmp(str, "end") != 0) {
res = checkPalindrome(str);
if (res == 1)
printf("\"%s\" : 회문입니다.\n", str);
else
printf("\"%s\" : 회문이 아닙니다.\n", str);
inputString(str);
}
getchar();//최종결과까지 확인하기 위해서 getchar()함수를 추가하였음.
getchar();//최종결과까지 확인하기 위해서 getchar()함수를 추가하였음.
return 0;
}
//---------------------------------------------------
void inputString(char *cp)
{
printf("# 회문 검사할 문자열을 입력하시오 : ");
scanf("%s", cp);/*회문 입력*/
return;
}
//---------------------------------------------------
int checkPalindrome(char *cp)
{
int length;
int check = 1;
length = strlen(cp);
for (int i = 0; i < length / 2; i++) {
if (cp[i] != cp[length -i - 1]) {
check = 0;
break;
}
}
return check;
// =>배열에 저장 된 문자의 길이를 반으로 나눈 뒤 배열을 계속 비교하며, 회문이면 1을 리턴하고
// 아니면 0을 리턴해준다.
}
=>이번 코드는 주석에 설명이 포함되어 따로 문제 설명을 하지 않겠습니다.
🎉5.출력화면

✨6.느낌점
이번 1차원 배열의 마지막 퀴즈 문제를 풀어봄으로써 배열의 선형적인 구조를 더 잘 알게 되었고, 회문을 만드는 프로그램을 통해 문자열을 이용해 각각의 단어들을 비교해보고 대조하는 방법을 새로 배웠으며, 앞으로 다른 문제를 통해 배열에 대해 이해하고 잘 이용하도록 노력해야겠다는 마음이 들었다.