一、輸入一個數(這裡用函式實現) 1.輸出它是幾位數 2.逆序輸出 3.正序輸出

Never_NotFound發表於2020-12-10

C語言

一、輸入一個數(這裡用函式實現)
1.輸出它是幾位數
2.逆序輸出
3.正序輸出

#include<stdio.h>
#include<math.h>

//這個真的(//∇//)很重要哦(*´ο`*)
/*輸入一個數
1.輸出它是幾位數
2.逆序輸出
3.正序輸出
*/

//1.先寫它是幾位數(採用去掉個位的思想)
int Count(int num)
{    int i;
     if(num==0)
        {
            return 1;
        }  
     for (i=0;num!=0;i++)
        {
            num/=10;
        }
     return i;
}

//2.再寫逆序輸出從123456-->654321(採用取個位,丟個位的思路)
void Reverse_Print(int num)
{
    int tmp;//用於儲存個位數值
    for(int i=1;num!=0;i++)
    {
        tmp=num%10;//取個位,放在tmp中
        num/=10;//丟個位
        printf("%d ",tmp);//每次迴圈便輸出一次個位
    }
    printf("\n");
}

//3.順序輸出
void Order_Print(int num)
{
    int flg=Count(num);//先算出num是幾位數,減一是
    int tmp;//儲存最高位的值
    int div=pow(10,flg-1);//除數,需要除的數
    for(int i=1;num!=0;i++)
    {
        tmp=num/div;//取最高位數
        num%=div;//去掉最高位數剩餘的數
        div/=10;
        
        printf("%d ",tmp);
    }
    printf("\n");
}
int main()
{
    printf("%d位數\n",Count(123456));//()中的 值可改哦
    Reverse_Print(123456);//逆序輸出
    Order_Print(123456);//順序輸出
    return 0;
}

//如有不對的或者需要有改進的地方,歡迎大佬在評論區留言

努力變強Day1:生活總是讓我們遍體鱗傷,但到後來,那些受傷的地方一定會變成我們最強壯的地方。

相關文章