將一個整數逆序輸出·正序輸出它的每一位數字

CGL1552188038發表於2018-03-11
逆序輸出n的每位數字
void PrintReverse(int n)  //定義一個函式 他的資料型別為整型
{
 if(n < 0)
 {
  printf("-");
  n = -n;
 }                                    //對於負數的整數,改變輸出“-”的多少
 do
 {
  printf("%d ",n%10);     //當n不等於0時,n對10取餘,得到n的最末位數字,然後n/10丟掉最末位數字
  n /= 10;
 }while(n != 0);             
 printf("\n");                 //利用迴圈依次逆序輸出n的每一位,直到0==0截止
}
逆序輸出n的每位順數字
int Figure(int n)         //首先用一個函式判斷出是幾位數
{
 int count = 0;
 do
 {
  count++;
  n /=10;
 }while(n != 0);         //每迴圈一次 count就加1,當n==0時 迴圈停止
 return count;
}

void PrintOrder(int n)//1234
{
 int count = Figure(n);     //呼叫上面的計數函式,注意 :在呼叫的時候不需要申明變數型別,即“()”內不能寫int
 int power = 1;                //重新定義一個整數power,然後用n除以這個數就得到最高位數字
 for(int i=0;i<count-1;i++)   
 {
  power *= 10;
 }
 do
 {
  printf("%d ",n/power);
  n %= power;                  // 然後n對power取餘,去掉n的最高位數字 
  power /= 10;                 //再將power除10,減少一位,使與n的位數保持相同
 }while(n != 0);                //通過迴圈依次輸出每一位數字
 printf("\n");
}


相關文章