Test Message

a038: 數字翻轉

內容

輸入任意數字,並將其數字全部倒轉


輸入

輸入包含一個整數,不超過 231

12345

輸出

輸出翻轉過後的數字

54321


解題思路

  1. 因為輸入會有多餘的 0,所以先用整數去接輸入值過濾掉前面多餘的 0
  2. 將整數用轉成字串後反轉
  3. 反轉後前面可能又會有多餘的 0,所以再將字串轉成整數後輸出

具體步驟為:輸入 → 轉整,去掉前面的 0 → 轉回字串 → 反轉字串 → 再轉整,去掉前面的 0(原始字串後面的 0) → 再轉回字串輸出。


完整程式碼

AC (2ms, 128KB)
#include <stdio.h>
#include <string.h>

int input;
char src[15], rev[15], * output;

int main()
{
while (scanf(" %d", &input) == 1)
{
sprintf(src, " %d", input);
output = &rev[14];
for (int i = 0; src[i]; i++)
{
*output-- = src[i];
}
printf("%d\n", atoi(++output));
}
return 0;
}