C++/문제풀이
[C++] 문자열이 회문인지 알아보는 프로그램
year.number
2022. 6. 15. 12:44
Power C++ p.257
문자열이 회문인지 알아보는 프로그램
#include <iostream>
#include <cstring>
using namespace std;
// p.296 16번)
// 문자열이 회문인지 알아보는 프로그램
// 1. i번째 원소와 length - 1 - i이 같은지 비교
int main(){
cout << "\n\n문자열이 회문인지 알아보는 프로그램" << endl;
char sentence[81];
cout << "문장을 입력하세요: ";
// cin >> sentence; //단어 입력 OK, 문장입력 => 공백 문자 처리 불가(cin 객체)
cin.getline(sentence, 81);
//1. 문자열 맨 끝의 길이: 문자열의 length 구하기
int length = strlen(sentence);
cout << "입력된 문자열: " << sentence << endl;
bool pal = true;
for(int i = 0; i<length/2; i++){
//같지 않은 원소 발견? => 바로 종료, false 확정
if (sentence[i] != sentence [length - i -1]){
pal = false;
break;
}
}
if(pal == true)
cout << "네, 회문입니다." << endl;
else
cout << "아니오, 회문이 아닙니다. " << endl;
return 0;
}
실행 결과
Key Point
1. 회문이 아닌 경우
sentence[i] != sentence [length - i -1]