1. 程式人生 > >給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字

給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字

//第一種方法: 對數取餘數

    /*

    int a = 0, i = 0;

    printf("請輸入一個不多於5位的正整數:\n");

    scanf("%d", &a);

    printf("逆序為:\n");

    while (a > 0) {

        printf("%d ", a % 10);//逐次取個位數,輸出

        a /= 10;

        i++;//計數

    }

    printf("\n它是%d位數\n", i);

    */

//第二種方法: 把數放入字串陣列, 逆序列印

    char a[5] = {};

    printf(

"請輸入一個不多於5位的正整數:\n");

    scanf("%s", a);

    printf("逆序為:\n");

    for (int i = strlen(a) - 1; i >= 0; i--) {

        printf("%c ", a[i]);

    }

    printf("\n它是%ld位數\n", strlen(a));