這算是蠻簡單的題目,就只是做數字or字串的翻轉,例如輸入:linroex會輸出:xeornil或是輸入123會傳回321,這題解法並不難,透過C++裡面字串可以用陣列的方式存取這個特性,我們設定一個迴圈,然後取得輸入字串的長度作為迴圈的結束值,接者當迴圈跑一圈時就把X字串最後一個字移到Y字串第一個字,這樣當迴圈跑完時就翻轉完成了

另外上面講的是字串翻轉,但如果要做數字翻轉的話,大致原理跟前述一樣,只是最後你要把字串陣列轉成Int的形態,就可以把0清除掉

何謂數字翻轉?

將是把數字做翻轉,如果開頭有零就要去除掉,例如輸入500會傳回5,輸入5050會傳回505

數字翻轉:

/*
數字翻轉功能
例如:輸入123會輸出321
輸入500會輸出5(因為0要去掉)
輸入512會輸出215
*/
#include 
#include 

using namespace std;

int main() { string x; while(cin»x){ char re[100000]=""; for(int i=0;i<x.length();i++){ //建立一個迴圈,迴圈結束值是x的長度 re[i]=x[x.length()-i-1]; //把x陣列的字轉移到re陣列,不過順序是:x從後面來,y從前面放 } cout«atoi(re)«endl; //將re陣列轉成int然後輸出 } return 0; }

程式碼載點: Box.net4SharedDropboxGoogle

如果要做成字串翻轉,就把

cout<
那行改成
cout<
就是字串翻轉了