Easy Tutorial
❮ C Continue Statement C Exercise Example62 ❯

C Exercise Example 29

C Language Classic 100 Examples

Title: Given a positive integer with no more than 5 digits, the requirements are: 1. Determine how many digits it has. 2. Print the digits in reverse order.

Program Analysis: Learn how to decompose each digit, as explained below.

Example

//  Created by www.tutorialpro.org on 15/11/9.
//  Copyright © 2015 tutorialpro.org. All rights reserved.
//

#include <stdio.h>

int main()
{
    long a, b, c, d, e, x;
    printf("Please enter a 5-digit number: ");
    scanf("%ld", &x);
    a = x / 10000;        /* Decompose the ten-thousands place */
    b = x % 10000 / 1000; /* Decompose the thousands place */
    c = x % 1000 / 100;   /* Decompose the hundreds place */
    d = x % 100 / 10;     /* Decompose the tens place */
    e = x % 10;           /* Decompose the ones place */
    if (a != 0) {
        printf("It is a 5-digit number, reversed order: %ld %ld %ld %ld %ld\n", e, d, c, b, a);
    } else if (b != 0) {
        printf("It is a 4-digit number, reversed order: %ld %ld %ld %ld\n", e, d, c, b);
    } else if (c != 0) {
        printf("It is a 3-digit number, reversed order: %ld %ld %ld\n", e, d, c);
    } else if (d != 0) {
        printf("It is a 2-digit number, reversed order: %ld %ld\n", e, d);
    } else if (e != 0) {
        printf("It is a 1-digit number, reversed order: %ld\n", e);
    }
}

The above example output is:

Please enter a 5-digit number: 12345
It is a 5-digit number, reversed order: 5 4 3 2 1

C Language Classic 100 Examples

❮ C Continue Statement C Exercise Example62 ❯