-
21장. 실력 다지기 연습문제 03 ) 문제 4 [회문 판단]IT/솔루션) 난 정말C... 없다구요 2019. 4. 17. 20:18
<2016. 9. 26. 20:59>
21장. 실력 다지기 연습문제 03 ) 문제 4 [회문 판단]
/* 회문(palindrome)은 앞으로 읽으나 뒤로 읽으나 동일한 단어를 말한다. 예를들어서 level과 noon은 회문이다. 이렇듯 프로그램 사용자가 ㅇ비력한 단어가 회문인지 아닌지 판단하는 프로그램을 작성하자 그리고 대소문자가 함께 입력되더라도 회문으로 판단할 수 있어야 한다. 쉽게 말해서 프로그램 사용자가 level이 아닌 Level로 입력하더라도 회문으로 인식해야 한다. */ #include<stdio.h> #include<stdlib.h> #pragma warning(disable : 4996) int wordlen(char str[]); int wordcheck(char str[]); char alpachange(char alpa); int main(void) { char word[20]; int i; printf("단어 입력 : "); scanf("%s", word); if (wordcheck(word) == 1) printf("입력하신 단어는 회문입니다."); else printf("입력하신 단어는 회문이 아닙니다.\n"); system("pause"); return 0; } int wordlen(char str[]) { int len = 0; while (str[len] != '\0') len++; len -= 1; printf("len은 %d\n", len); return len; } int wordcheck(char str[]) { int i; int len; int middle = wordlen(str) / 2; printf("middle은 %d\n", middle); for (i = 0; i < middle; i++) { if (alpachange(str[i]) != alpachange(str[wordlen(str) - i])) { printf("%c와 %c는 같지 않습니다.\n", str[i], str[wordlen(str) - i]); return 0; } } return 1; } char alpachange(char alpa) { int differ = 'a' - 'A'; if (alpa >= 'A' && alpa <= 'Z') alpa += differ; return alpa; }
'IT > 솔루션) 난 정말C... 없다구요' 카테고리의 다른 글
21장. 실력 다지기 연습문제 03 ) 문제 6 [주민등록번호의 유효성 판단] (0) 2019.04.17 21장. 실력 다지기 연습문제 03 ) 문제 5 [문자열로 입력된 연산문의 분석] (0) 2019.04.17 21장. 실력 다지기 연습문제 03 ) 문제 3 [문자열의 복사] (0) 2019.04.17 21장. 실력 다지기 연습문제 03 ) 문제 2 [2차원 배열에 저장된 값의 평균] (0) 2019.04.17 21장. 실력 다지기 연습문제 03 ) 문제 1 [문자열의 길이 계산] (0) 2019.04.17