首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言實例練習

C語言練習實例29:輸入不超過5位正整數,求位數並逆序輸出

     編輯:C 語言實例練習

C語言練習實例29:輸入不超過5位正整數,求位數並逆序輸出

本實例分解 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; }。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved