分析:
題目理解起來還是簡單的,基本上有兩種思路:1) 將int轉為string來實現; 2)直接用int做(回文串判斷,相加)
第二中思路比較直接,將一個數倒置得到新的數,然後判斷是否是回文數(兩個數值相等);不過鄙人采用了第一種方法,因為字符串的操作不太熟練,需要聯系來著。
字符串操作:
string --> int
int a;
string str=123;
a=atoi(str.c_str()); //頭文件 stdlib.h
int --> string
int a;
string str;
stringstream ss; //頭文件 sstream.h
ss<
ss>>str;
字符串轉置
string str=123;
reverse( str.begin(), str.end() ); // algorithm.h
cout<
代碼:
//hdu 1282 #include#include #include #include #include #include #include using namespace std; #define MAXN 10000 int cnt; string s[MAXN]; bool palindrome(string e) { for(int i=0,j=e.length()-1;i ; cout< >x; if(palindrome(x)) { s[cnt++]=x; break; } } show(); } int main() { freopen(in.txt,r,stdin); string str; while(cin>>str){ if(palindrome(str)){ cout<<0<