[C_ST17-易] 判斷是否為迴文
問題描述:迴文是指從前面讀和從後面讀都相同的一個數字或一段文字。例如下列每一五位數的整數都是迴文: 123321 , 55555 , 45554 , 11611 。請撰寫一個程式,判斷它是否迴文。
輸入說明:輸入一個正整數。
輸出說明:迴文印出 ” 是 ” ;非回文印出 ” 否 ” 。範例:
輸入說明:輸入一個正整數。
輸出說明:迴文印出 ” 是 ” ;非回文印出 ” 否 ” 。範例:
Sample Input: | Sample Output: |
123321 1556551 1244221 | YES YES NO |
- #include <iostream>
- #include <cmath>
- #include <string.h>
- using namespace std;
- int main() {
- // [C_ST17-易] 判斷是否為迴文
- int count; //string 長度
- string input;
- bool re = true; //判斷是否回文,起始都是回文
- while(cin >> input)
- {
- count = input.size();//string 長度
- char result[count]; //存入回文結果
- strcpy(result, input.c_str());//string to char
- for(int i = 0;i<floor(count/2);i++)//製造回文
- {
- if(result[i] != result[count-1-i])
- {
- re = false;//有一個不等於,就不是回文
- }
- }
- if(re == true)//輸出
- {
- cout << "YES" << endl;
- }
- else
- {
- cout << "NO" << endl;
- }
- }
- return 0;
- }
沒有留言:
張貼留言