輸入任意數字,並將其數字全部倒轉
輸入說明 :
一個整數,不超過 2^31
輸出說明 :
翻轉過後的數字
範例輸入 :
12345
範例輸出 :
54321
程式碼 :
#include <stdio.h> #include <string.h> int main() { int i,len; char s1[15],s2[15]; while(gets(s1)!=NULL) { len = strlen(s1); for(i=0;i<len;i++) s2[i] = s1[len-i-1]; s2[len] = '\0'; for(i=0;s2[i]=='0';i++); printf("%s\n",s2+i); } return 0; }
http://zerojudge.tw/ShowProblem?problemid=a038
可以講解一下嗎?感恩
回覆刪除len = strlen(s1); //取得s1的長度
刪除for(i=0;i<len;i++) //反轉字串
s2[i] = s1[len-i-1]; //當i=0時,把s1的最後一個丟給s2的第一個,後面的以此類推
s2[len] = '\0'; //把s2加上中止符號
for(i=0;s2[i]=='0';i++); //我們序要把前面是0的數字去掉,例如:005,我們應該輸出5
printf("%s\n",s2+i);//從s2+i的位置把字串印出來,假設今天005這個字串是放在100這個位置上,但是我們今天只要印出5,我們需要幫100+2,就可以從102開始印我們要的字串