반응형
회문(palindrome)은 앞으로 읽으나 뒤로 읽으나 같은 단어나 구를 말합니다. 이를 C 언어로 판별하는 코드를 작성해보겠습니다. 예를 들어, "level", "radar", "noon"은 모두 회문입니다.
아래의 코드는 입력된 문자열이 회문인지를 판별합니다. 문자열의 첫 번째 문자와 마지막 문자를 비교하고, 두 번째 문자와 뒤에서 두 번째 문자를 비교하는 식으로 계속해서 진행하면서 회문 여부를 확인합니다.
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
// 문자열이 회문인지 판별하는 함수
bool isPalindrome(char *str) {
int i;
int length = strlen(str);
for (ai = 0; i < length / 2; i++) {
if (str[i] != str[length - i - 1]) {
return false;
}
}
return true;
}
int main() {
char str[100];
printf("문자열을 입력하세요: ");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s 는(은) 회문입니다.\n", str);
} else {
printf("%s 는(은) 회문이 아닙니다.\n", str);
}
return 0;
}
반응형
'C_C++' 카테고리의 다른 글
(C++) 구조체를 이용해서 데이터 파일 읽기: fstream (0) | 2024.06.10 |
---|---|
(C++) 스트림 입출력: ofstream, ifstream, fstream, eof(), getline() (0) | 2024.06.09 |
(C언어) 정보처리산업기사 연산자 문제 ★ (3) | 2024.01.27 |
(C언어) 주사위 시뮬레이션 (dice simulation) (106) | 2024.01.25 |
(C언어) 중복되지 않은 단어의 개수 세는 프로그램 (108) | 2024.01.23 |