本實例分解 5 位以內正整數各位,根據最高非零位判斷位數,並逆序打印。
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
int main() {
long a, b, c, d, e, x;
printf("請輸入 5 位數字:");
scanf("%ld", &x);
a = x / 10000;
b = x % 10000 / 1000;
c = x % 1000 / 100;
d = x % 100 / 10;
e = x % 10;
if (a != 0)
printf("為 5 位數,逆序為: %ld %ld %ld %ld %ld\n", e, d, c, b, a);
else if (b != 0)
printf("為 4 位數,逆序為: %ld %ld %ld %ld\n", e, d, c, b);
else if (c != 0)
printf("為 3 位數,逆序為:%ld %ld %ld\n", e, d, c);
else if (d != 0)
printf("為 2 位數,逆序為: %ld %ld\n", e, d);
else if (e != 0)
printf("為 1 位數,逆序為:%ld\n", e);
return 0;
}
請輸入 5 位數字:12345
為 5 位數,逆序為: 5 4 3 2 1
可用循環通用處理任意位數:while(x){ printf("%d", x%10); x/=10; }。