#32439: C 解法


qoo0973215128@gmail.com (阿嘉嘉)

學校 : 不指定學校
編號 : 142104
來源 : [1.174.93.3]
最後登入時間 :
2022-10-11 01:20:01
a038. 數字翻轉 | From: [1.174.93.3] | 發表日期 : 2022-10-11 01:40

#include <stdio.h>

int main() {
char a[10] = {0};//最大只有2^31-1 因此最多只會有10個數字
scanf("%s", &a);//將數字轉成字元一個一個放入
int i = 0, zero = 0;
while(a[i] != '\0')//判斷長度
i++;
int j;
for(j = i - 1; j >= 0; j--) {//使陣列由後到前輸出
if(zero == 0 && a[j] == '0')//還沒遇到大於0的數時zero保持=0,因此不會輸出字元
continue;
printf("%c", a[j]);//輸出字元
zero = 1;//第一次遇到數字後zero轉為1,將不會再次進入上述if
}
if(zero == 0)//假如從頭到尾皆無大於0的數字則zero保持=0,因此輸出0
printf("0");
return 0;
}
 
ZeroJudge Forum