#include<iostream>#include<string>#include<LIST>using namespace std;int main(){ //字串逆序// string string1;// int n,i,temp;// cin>>string1;// // n=string1.size();// // for(i = 0; i < n / 2; i++)// {// temp=string1[i];// string1[i]=string1[n-i-1];// string1[n-i-1]=temp;// }// // cout<<string1<<endl;// ******************************************************************************************************************************//// 用list實現字串的逆置// ******************************************************************************************************************************//// list<char> cLst; //儲存輸入的字串的每個字元// list<char> cCvLst; //儲存逆置後的字串的每個字元// string str;// cout<<"Please a word:"<<endl;// cin>>str;// // //解析將輸入的字串分解成每個字元存入cLst// for(list<char>::size_type index = 0; index != str.length(); ++index)// {// cLst.push_back(str[index]);// }// // // cout<<"Original word: "<<endl;// for(list<char>::iterator cIt = cLst.begin(); cIt != cLst.end(); ++cIt)// {// cout<<*cIt<<"\t";// }// cout<<endl;// // //用copy和front_insert實現逆置// copy(cLst.begin(), cLst.end(), front_inserter(cCvLst));// // cout<<"Converted!"<<endl;// for(cIt = cCvLst.begin(); cIt != cCvLst.end(); ++cIt)// {// cout<<*cIt<<"\t";// }// cout<<endl; //數字逆序 //位元 int digits = 1; int testDig = 0; cin>>testDig; int tmp = testDig; if(abs(testDig) > 10) { while(abs(tmp) > 10) { tmp = abs(tmp) / 10; digits++; } } cout<<digits<<endl; //逆序輸出 tmp = testDig; for(int cycle = 0; cycle < digits; ++cycle) { cout<<abs(tmp) %10; tmp = abs(tmp) / 10; } if(testDig < 0) { cout<<"-"<<endl; } system("pause"); return 0;}